|
69125
|
2478
|
9
|
2026-05-22T07:53:31.923040+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436411923_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed a npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v
v14.15.4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node
/Users/lukas/.nvm/versions/node/v14.15.4/bin/node
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 14.438 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=9 elapsed=1.67222475s
2...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"npm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v\nv14.15.4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node\n/Users/lukas/.nvm/versions/node/v14.15.4/bin/node\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB → 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB → 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB → 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB → 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks","depth":4,"on_screen":true,"value":"npm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.341 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v\nv14.15.4\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node\n/Users/lukas/.nvm/versions/node/v14.15.4/bin/node\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB → 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB → 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB → 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB → 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.26894948,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27094415,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.34773937,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.34973404,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.42652926,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.42852393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.50515294,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.5071476,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5837766,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.58577126,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.66240025,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.664395,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4950133,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-5427280175462912697
|
-6580793664908397120
|
idle
|
accessibility
|
NULL
|
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed a npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.341 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-22T07_21_03_590Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ node -v
v14.15.4
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ which node
/Users/lukas/.nvm/versions/node/v14.15.4/bin/node
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 14.438 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=9 elapsed=1.67222475s
2...
|
69121
|
NULL
|
NULL
|
NULL
|
|
69126
|
2477
|
13
|
2026-05-22T07:53:44.705029+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436424705_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 14.438 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: s...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB → 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB → 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB → 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB → 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","depth":4,"on_screen":true,"value":"lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20\nDownloading and installing node v20.20.2...\nDownloading https://nodejs.org/dist/v20.20.2/node-v20.20.2-darwin-arm64.tar.xz...\n############################################################################################################################################################################ 100.0%\nComputing checksum with shasum -a 256\nChecksums matched!\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm use 20 \nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.341\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB → 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB → 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB → 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB → 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0013888889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.16180556,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.16597222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.3263889,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33055556,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.490625,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6548611,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.65902776,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.8190972,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.8232639,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.46944445,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-4227938653719618082
|
2642578646824285632
|
idle
|
accessibility
|
NULL
|
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ nvm install 20
Downloading and installing node v20.20.2...
Downloading [URL_WITH_CREDENTIALS]
Ok to proceed? (y) y
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-22T10:23:21.685872Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-22T10:23:22.397147Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-22T10:23:22.398621Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-22T10:23:22.399026Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-22T10:23:22.418756Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 14.438 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: s...
|
69122
|
NULL
|
NULL
|
NULL
|
|
69127
|
2478
|
10
|
2026-05-22T07:54:02.195849+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436442195_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-05-22T10:23:22.418831Z INFO screenpipe: meet 2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 14.438 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whis...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB → 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB → 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB → 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB → 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","depth":4,"on_screen":true,"value":"2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB → 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB → 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB → 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB → 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.26894948,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27094415,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.34773937,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.34973404,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.42652926,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.42852393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.50515294,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.5071476,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5837766,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.58577126,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.66240025,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.664395,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4950133,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
1313933337094025858
|
2642578371946378688
|
idle
|
accessibility
|
NULL
|
2026-05-22T10:23:22.418831Z INFO screenpipe: meet 2026-05-22T10:23:22.418831Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-22T10:23:22.833442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 14.438 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whis...
|
69121
|
NULL
|
NULL
|
NULL
|
|
69128
|
2477
|
14
|
2026-05-22T07:54:14.828985+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436454828_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-05-22T10:23:22.833539Z INFO screenpipe: API 2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 14.438 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB → 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB → 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB → 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB → 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:02.534883Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","depth":4,"on_screen":true,"value":"2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB → 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB → 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB → 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB → 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:02.534883Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0013888889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.16180556,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.16597222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.3263889,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33055556,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.490625,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6548611,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.65902776,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.8190972,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.8232639,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.46944445,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-8447967381149838304
|
2642578371946378688
|
idle
|
accessibility
|
NULL
|
2026-05-22T10:23:22.833539Z INFO screenpipe: API 2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 14.438 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69129
|
2478
|
11
|
2026-05-22T07:54:32.485323+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436472485_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-05-22T10:23:22.833539Z INFO screenpipe: API 2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 14.438 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB → 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB → 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB → 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB → 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:02.534883Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","depth":4,"on_screen":true,"value":"2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB → 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB → 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB → 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB → 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:02.534883Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.26894948,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27094415,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.34773937,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.34973404,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.42652926,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.42852393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.50515294,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.5071476,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5837766,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.58577126,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.66240025,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.664395,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4950133,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-8447967381149838304
|
2642578371946378688
|
idle
|
accessibility
|
NULL
|
2026-05-22T10:23:22.833539Z INFO screenpipe: API 2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 14.438 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_i...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
69130
|
NULL
|
0
|
2026-05-22T07:54:44.972962+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436484972_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-05-22T10:23:22.833539Z INFO screenpipe: API 2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 14.438 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_i...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB → 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB → 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB → 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB → 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:02.534883Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","depth":4,"on_screen":true,"value":"2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB → 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB → 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB → 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB → 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:02.534883Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0013888889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.16180556,"top":0.05888889,"width":0.16458334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.16597222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.3263889,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33055556,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.490625,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6548611,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.65902776,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.8190972,"top":0.05888889,"width":0.16423611,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.8232639,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.46944445,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-8447967381149838304
|
2642578371946378688
|
idle
|
accessibility
|
NULL
|
2026-05-22T10:23:22.833539Z INFO screenpipe: API 2026-05-22T10:23:22.833539Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-22T10:23:22.833422Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-22T10:23:22.833579Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-22T10:23:22.833813Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-22T10:23:22.837822Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-22T10:23:22.838151Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 14.438 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_i...
|
69128
|
NULL
|
NULL
|
NULL
|
|
69131
|
NULL
|
0
|
2026-05-22T07:55:02.731708+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-22/1779 /Users/lukas/.screenpipe/data/data/2026-05-22/1779436502731_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-05-22T10:23:22.838440Z INFO screenpipe_core: 2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 14.438 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: App...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB → 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB → 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB → 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB → 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:02.534883Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:57.542764Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=55 elapsed=1.714325208s\n2026-05-22T10:54:57.543626Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 55 eligible frames\n2026-05-22T10:54:59.501858Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 5.3MB → 0.3MB (20.8x), 33 JPEGs deleted\n2026-05-22T10:55:00.732283Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.1MB → 0.2MB (13.0x), 20 JPEGs deleted","depth":4,"on_screen":true,"value":"2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture\n2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915\n2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)\n2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:26.122171Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=1 rows_returned=3489 elapsed=3.250473333s\n2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC\n2026-05-22T10:23:26.147507Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=3.272958708s\n2026-05-22T10:23:26.220990Z WARN sqlx::query: summary=\"BEGIN IMMEDIATE\" db.statement=\"\" rows_affected=0 rows_returned=0 elapsed=2.433538333s\n2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms\n2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms\n2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 14.438 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager\n2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)\n2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0\n2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0\n2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2\n2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0\n2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)\n2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)\n2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)\n2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-22T10:24:26.050807Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=177 elapsed=3.21525875s\n2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames\n2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted\n2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted\n2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted\n2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)\n2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854\n2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854\n2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0\n2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0\n2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0\n2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1\n2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)\n2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0\n2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T10:29:40.397423Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=3 elapsed=2.628815834s\n2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0\n2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0\n2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0\n2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0\n2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884\n2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: \"....\", help: \"https://www.osstatus.com?search=-25212\" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app\n2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0\n2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0\n2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0\n2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0\n2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0\n2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0\n2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0\n2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0\n2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0\n2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0\n2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8\n2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)\n2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896\n2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1\n2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0\n2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0\n2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0\n2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0\n2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0\n2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0\n2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0\n2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0\n2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0\n2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0\n2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0\n2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907\n2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0\n2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0\n2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)\n2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0\n2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0\n2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0\n2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0\n2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0\n2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0\n2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7\n2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0\n2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0\n2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0\n2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2\n2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks\n2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0\n2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0\n2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0\n2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0\n2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3\n2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0\n2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0\n2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0\n2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0\n2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0\n2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0\n2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0\n2026-05-22T10:33:28.320660Z WARN sqlx::query: summary=\"PRAGMA wal_checkpoint(TRUNCATE)\" db.statement=\"\" rows_affected=0 rows_returned=1 elapsed=5.366279208s\n2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL\n2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4\n2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0\n2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0\n2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0\n2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0\n2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0\n2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0\n2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0\n2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0\n2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0\n2026-05-22T10:34:42.085569Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=9 elapsed=1.67222475s\n2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames\n2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0\n2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted\n2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted\n2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0\n2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session\n2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948\n2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951\n2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:37:55.052830Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-22T10:39:07.462451Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=120 row_id=70622 frame_id=68951\n2026-05-22T10:39:07.467612Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=15 pending_events=0 pending_frames=0 total_pairs=86 total_evicted=61 total_failed=0\n2026-05-22T10:39:09.413388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68968 paired=1 still_pending=0\n2026-05-22T10:39:13.336605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:13.338614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=2 still_pending=1\n2026-05-22T10:39:22.781494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68971 paired=1 still_pending=0\n2026-05-22T10:39:30.049572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68972 paired=1 still_pending=0\n2026-05-22T10:39:30.769375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=3\n2026-05-22T10:39:32.506176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=150 row_id=70652 frame_id=68970\n2026-05-22T10:39:34.987915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:37.201593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:38.566568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:44.842871Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=26 elapsed=1.334420459s\n2026-05-22T10:39:44.843133Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-22T10:39:45.414947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:39:45.417084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68974 paired=1 still_pending=4\n2026-05-22T10:39:46.255483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 2.3MB → 1.2MB (1.9x), 12 JPEGs deleted\n2026-05-22T10:39:46.605794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=1\n2026-05-22T10:39:46.606978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=167 row_id=70669 frame_id=68970\n2026-05-22T10:39:47.143156Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.3MB (6.0x), 12 JPEGs deleted\n2026-05-22T10:39:48.917743Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=168 row_id=70670 frame_id=68970\n2026-05-22T10:39:51.314919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=0\n2026-05-22T10:39:53.948060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=176 row_id=70678 frame_id=68970\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:39:55.266891Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:39:55.495529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68979 paired=2 still_pending=0\n2026-05-22T10:39:57.722788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:00.578919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68980 paired=1 still_pending=0\n2026-05-22T10:40:01.702315Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68981 paired=1 still_pending=0\n2026-05-22T10:40:01.716416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=3 still_pending=7\n2026-05-22T10:40:01.729249Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=188 row_id=70690 frame_id=68970\n2026-05-22T10:40:01.731406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=189 row_id=70691 frame_id=68970\n2026-05-22T10:40:07.175133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=1 still_pending=0\n2026-05-22T10:40:07.924475Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=40 pending_frames=11 total_pairs=118 total_evicted=62 total_failed=0\n2026-05-22T10:40:08.413457Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68970 paired=2 still_pending=0\n2026-05-22T10:40:09.736722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=196 row_id=70698 frame_id=68970\n2026-05-22T10:40:11.114584Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68983 paired=1 still_pending=0\n2026-05-22T10:40:13.986766Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=40 pending_frames=10 total_pairs=122 total_evicted=67 total_failed=0\n2026-05-22T10:40:13.986942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68984 paired=2 still_pending=1\n2026-05-22T10:40:15.103166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=1 still_pending=0\n2026-05-22T10:40:17.045652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68986 paired=2 still_pending=1\n2026-05-22T10:40:17.924324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=39 pending_frames=12 total_pairs=127 total_evicted=68 total_failed=0\n2026-05-22T10:40:23.118426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:23.124457Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=38 pending_frames=12 total_pairs=128 total_evicted=69 total_failed=0\n2026-05-22T10:40:23.383117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68987 paired=1 still_pending=0\n2026-05-22T10:40:35.553581Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=20 pending_events=20 pending_frames=10 total_pairs=129 total_evicted=89 total_failed=0\n2026-05-22T10:40:35.553814Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68988 paired=2 still_pending=0\n2026-05-22T10:40:38.352160Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=19 pending_frames=11 total_pairs=131 total_evicted=92 total_failed=0\n2026-05-22T10:40:38.352310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68985 paired=3 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:41:55.474073Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:42:05.121405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=214 row_id=70716 frame_id=68989\n2026-05-22T10:42:05.124472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=31 pending_events=0 pending_frames=1 total_pairs=135 total_evicted=123 total_failed=0\n2026-05-22T10:42:06.155414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68994 paired=1 still_pending=0\n2026-05-22T10:42:09.258863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68995 paired=1 still_pending=2\n2026-05-22T10:42:09.669797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=225 row_id=70727 frame_id=68995\n2026-05-22T10:42:12.970356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68997 paired=1 still_pending=0\n2026-05-22T10:42:14.808689Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68999 paired=1 still_pending=0\n2026-05-22T10:42:14.899166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69000 paired=1 still_pending=1\n2026-05-22T10:42:16.088450Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69001 paired=1 still_pending=0\n2026-05-22T10:42:17.366563Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69002 paired=1 still_pending=0\n2026-05-22T10:42:18.571848Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69004 paired=1 still_pending=0\n2026-05-22T10:42:18.730114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69005 paired=1 still_pending=0\n2026-05-22T10:42:36.767184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69006 paired=2 still_pending=2\n2026-05-22T10:42:38.748053Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=250 row_id=70752 frame_id=69008\n2026-05-22T10:42:38.988164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-877557384647667347, trigger=click)\n2026-05-22T10:42:39.985127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69009 paired=2 still_pending=0\n2026-05-22T10:42:48.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69010 paired=1 still_pending=0\n2026-05-22T10:42:49.693294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69011 paired=1 still_pending=0\n2026-05-22T10:42:51.752363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69012 paired=2 still_pending=0\n2026-05-22T10:42:56.527280Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69013 paired=2 still_pending=0\n2026-05-22T10:42:57.144744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69014 paired=1 still_pending=0\n2026-05-22T10:43:00.515005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69015 paired=1 still_pending=0\n2026-05-22T10:43:09.518989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=9 pending_events=22 pending_frames=7 total_pairs=158 total_evicted=132 total_failed=0\n2026-05-22T10:43:09.519127Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69016 paired=1 still_pending=0\n2026-05-22T10:43:09.520529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69017 paired=2 still_pending=11\n2026-05-22T10:43:11.675740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69018 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-22T10:43:22.638413Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=16 pending_frames=4 total_pairs=162 total_evicted=143 total_failed=0\n2026-05-22T10:43:22.638670Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69019 paired=2 still_pending=1\n2026-05-22T10:43:23.838924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=1 still_pending=0\n2026-05-22T10:43:25.272565Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4623658924435902323, trigger=click)\n2026-05-22T10:43:25.462191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69020 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:43:55.697637Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:44:48.480754Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=68 elapsed=1.330403042s\n2026-05-22T10:44:48.480863Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 68 eligible frames\n2026-05-22T10:44:50.361751Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 4.8MB → 0.3MB (18.9x), 30 JPEGs deleted\n2026-05-22T10:44:50.561070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=25 pending_events=0 pending_frames=0 total_pairs=167 total_evicted=168 total_failed=0\n2026-05-22T10:44:50.561162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69021 paired=1 still_pending=0\n2026-05-22T10:44:50.600739Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1363377393314649998, trigger=click)\n2026-05-22T10:44:50.953881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69026 paired=1 still_pending=0\n2026-05-22T10:44:52.622936Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 36 frames, 5.5MB → 0.2MB (23.2x), 36 JPEGs deleted\n2026-05-22T10:44:53.559183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69028 paired=2 still_pending=0\n2026-05-22T10:44:55.716570Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69029 paired=3 still_pending=0\n2026-05-22T10:45:01.377275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=0\n2026-05-22T10:45:02.550104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69032 paired=1 still_pending=0\n2026-05-22T10:45:02.973562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69030 paired=1 still_pending=1\n2026-05-22T10:45:22.345502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69033 paired=2 still_pending=0\n2026-05-22T10:45:27.891423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69034 paired=2 still_pending=0\n2026-05-22T10:45:28.736337Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=1 still_pending=4\n2026-05-22T10:45:30.557346Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=301 row_id=70803 frame_id=69035\n2026-05-22T10:45:34.294058Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69035 paired=2 still_pending=0\n2026-05-22T10:45:35.517529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69037 paired=1 still_pending=0\n2026-05-22T10:45:36.114170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69038 paired=1 still_pending=1\n2026-05-22T10:45:41.451423Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:44.442779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69039 paired=2 still_pending=0\n2026-05-22T10:45:45.862306Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=314 row_id=70816 frame_id=69040\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:45:55.924835Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:46:53.925937Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=21 pending_events=1 pending_frames=0 total_pairs=192 total_evicted=189 total_failed=0\n2026-05-22T10:46:53.926271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69042 paired=1 still_pending=0\n2026-05-22T10:46:55.192179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69048 paired=1 still_pending=0\n2026-05-22T10:46:58.518416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69050 paired=1 still_pending=0\n2026-05-22T10:47:01.070640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=2 still_pending=0\n2026-05-22T10:47:06.707661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69051 paired=1 still_pending=0\n2026-05-22T10:47:06.742595Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=3\n2026-05-22T10:47:06.976228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:08.801811Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=1 still_pending=0\n2026-05-22T10:47:09.099511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:10.031247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69052 paired=2 still_pending=0\n2026-05-22T10:47:15.582906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69054 paired=1 still_pending=0\n2026-05-22T10:47:15.864254Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=336 row_id=70838 frame_id=69055\n2026-05-22T10:47:19.684141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=337 row_id=70839 frame_id=69054\n2026-05-22T10:47:19.700308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=338 row_id=70840 frame_id=69056\n2026-05-22T10:47:20.792822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69058 paired=1 still_pending=0\n2026-05-22T10:47:21.468981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69059 paired=2 still_pending=1\n2026-05-22T10:47:29.239983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:30.210703Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69060 paired=1 still_pending=0\n2026-05-22T10:47:32.642753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=2 still_pending=0\n2026-05-22T10:47:33.723031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69061 paired=1 still_pending=0\n2026-05-22T10:47:44.313086Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69062 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:47:56.184571Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:48:20.788181Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=14 pending_events=1 pending_frames=1 total_pairs=219 total_evicted=203 total_failed=0\n2026-05-22T10:48:20.788494Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69063 paired=1 still_pending=0\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-22T10:48:22.430942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=2 still_pending=0\n2026-05-22T10:48:23.811940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=352 row_id=70854 frame_id=69067\n2026-05-22T10:48:23.813658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=2 total_pairs=223 total_evicted=204 total_failed=0\n2026-05-22T10:48:23.813826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69066 paired=1 still_pending=1\n2026-05-22T10:48:30.956883Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=3 total_pairs=224 total_evicted=205 total_failed=0\n2026-05-22T10:48:30.957048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69068 paired=1 still_pending=0\n2026-05-22T10:48:32.097467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69070 paired=1 still_pending=0\n2026-05-22T10:48:38.819859Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=359 row_id=70861 frame_id=69071\n2026-05-22T10:48:38.821948Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69072 paired=1 still_pending=0\n2026-05-22T10:48:38.834873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69073 paired=2 still_pending=3\n2026-05-22T10:48:40.111412Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69074 paired=1 still_pending=0\n2026-05-22T10:48:41.164934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69076 paired=1 still_pending=0\n2026-05-22T10:48:41.583082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69077 paired=1 still_pending=0\n2026-05-22T10:48:42.969819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69078 paired=1 still_pending=0\n2026-05-22T10:48:44.106585Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69079 paired=1 still_pending=0\n2026-05-22T10:48:45.220081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69080 paired=1 still_pending=0\n2026-05-22T10:48:45.890357Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69081 paired=1 still_pending=0\n2026-05-22T10:48:47.071396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69082 paired=1 still_pending=0\n2026-05-22T10:48:48.340279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69083 paired=1 still_pending=0\n2026-05-22T10:48:49.196374Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:49.898408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8666512211461255411, trigger=typing_pause)\n2026-05-22T10:48:51.076309Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69084 paired=1 still_pending=0\n2026-05-22T10:48:52.320831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69085 paired=1 still_pending=0\n2026-05-22T10:48:52.790089Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69086 paired=1 still_pending=0\n2026-05-22T10:48:57.320097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69087 paired=1 still_pending=0\n2026-05-22T10:48:58.435591Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69088 paired=2 still_pending=0\n2026-05-22T10:49:02.016988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=70881 frame_id=69089\n2026-05-22T10:49:02.102922Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=380 row_id=70882 frame_id=69088\n2026-05-22T10:49:03.240725Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69090 paired=1 still_pending=0\n2026-05-22T10:49:03.895799Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69091 paired=1 still_pending=1\n2026-05-22T10:49:05.810923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69092 paired=1 still_pending=0\n2026-05-22T10:49:09.945502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69093 paired=1 still_pending=0\n2026-05-22T10:49:11.619526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69094 paired=1 still_pending=0\n2026-05-22T10:49:12.836391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69095 paired=1 still_pending=0\n2026-05-22T10:49:13.419554Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69096 paired=1 still_pending=0\n2026-05-22T10:49:15.212560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69097 paired=1 still_pending=0\n2026-05-22T10:49:17.540837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69098 paired=1 still_pending=0\n2026-05-22T10:49:21.183034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69099 paired=1 still_pending=0\n2026-05-22T10:49:21.185318Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=5 pending_frames=7 total_pairs=258 total_evicted=206 total_failed=0\n2026-05-22T10:49:53.683033Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 33 eligible frames\n2026-05-22T10:49:54.965040Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 19 frames, 3.1MB → 0.3MB (12.1x), 19 JPEGs deleted\n2026-05-22T10:49:55.817110Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 12 frames, 1.8MB → 0.2MB (7.8x), 12 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:49:56.390010Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:50:25.940361Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=12 pending_events=1 pending_frames=0 total_pairs=258 total_evicted=218 total_failed=0\n2026-05-22T10:50:25.940543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69100 paired=1 still_pending=0\n2026-05-22T10:50:26.790722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69105 paired=1 still_pending=0\n2026-05-22T10:50:30.278358Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=395 row_id=70897 frame_id=69107\n2026-05-22T10:50:32.671481Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=398 row_id=70900 frame_id=69109\n2026-05-22T10:50:34.766672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69110 paired=4 still_pending=0\n2026-05-22T10:50:34.784353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1938034920560603970, trigger=typing_pause)\n2026-05-22T10:50:47.576406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=404 row_id=70906 frame_id=69110\n2026-05-22T10:50:48.756193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69112 paired=1 still_pending=0\n2026-05-22T10:51:04.549943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69113 paired=1 still_pending=0\n2026-05-22T10:51:04.561179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69114 paired=1 still_pending=2\n2026-05-22T10:51:09.972466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69115 paired=1 still_pending=0\n2026-05-22T10:51:11.815652Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69116 paired=2 still_pending=0\n2026-05-22T10:51:13.711647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\n2026-05-22T10:51:13.846175Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2928782650161223485, trigger=click)\n2026-05-22T10:51:15.038404Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=69117 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:51:56.577657Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:53:32.099818Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:32.307791Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.180906Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.384454Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:33.559326Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:53:34.539308Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T10:53:56.769239Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T10:54:01.185832Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:01.414717Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:02.534883Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T10:54:57.542764Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=55 elapsed=1.714325208s\n2026-05-22T10:54:57.543626Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 55 eligible frames\n2026-05-22T10:54:59.501858Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 33 frames, 5.3MB → 0.3MB (20.8x), 33 JPEGs deleted\n2026-05-22T10:55:00.732283Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.1MB → 0.2MB (13.0x), 20 JPEGs deleted","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.26894948,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27094415,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.34773937,"top":1.0,"width":0.0787899,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.34973404,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.42652926,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.42852393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.50515294,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.5071476,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5837766,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.58577126,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ssh","depth":2,"bounds":{"left":0.66240025,"top":1.0,"width":0.07862367,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.664395,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4950133,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-609871860529612124
|
-6580793664908397120
|
idle
|
accessibility
|
NULL
|
2026-05-22T10:23:22.838440Z INFO screenpipe_core: 2026-05-22T10:23:22.838440Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-22T10:23:22.838521Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-22T10:23:22.838595Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-22T10:23:22.838674Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-22T10:23:22.838690Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-22T10:23:22.840078Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-22T10:23:22.840349Z INFO screenpipe: starting UI event capture
2026-05-22T10:23:22.846258Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-22T10:23:22.846754Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-22T10:23:22.855470Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-22T10:23:22.870462Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870499Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-22T10:23:22.870674Z INFO screenpipe_engine::ui_recorder: UI recording session started: eda29d07-a250-4b1e-bd52-928e24e61915
2026-05-22T10:23:22.870777Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-22T10:23:22.870800Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-21 07:23:22.870799 UTC to 2026-05-22 07:23:22.870799 UTC)
2026-05-22T10:23:22.878930Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-22T10:23:22.880306Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-22T10:23:22.910833Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-22T10:23:23.029067Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-22T10:23:23.029097Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.029136Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-22T10:23:23.079648Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-22T10:23:23.079684Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.079695Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-22T10:23:23.079718Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-22T10:23:23.079769Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-22T10:23:23.621654Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-22T10:23:23.703419Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:26.122171Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=1 rows_returned=3489 elapsed=3.250473333s
2026-05-22T10:23:26.134375Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 3489 frame entries, coverage from 2026-05-21 07:23:22.870799 UTC
2026-05-22T10:23:26.147507Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=3.272958708s
2026-05-22T10:23:26.220990Z WARN sqlx::query: summary="BEGIN IMMEDIATE" db.statement="" rows_affected=0 rows_returned=0 elapsed=2.433538333s
2026-05-22T10:23:26.233348Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=68848, dur=2557ms
2026-05-22T10:23:26.252378Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=68849, dur=2486ms
2026-05-22T10:23:26.254382Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-22T10:23:32.842279Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-22T10:23:32.843913Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-22T10:23:32.844039Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-22T10:23:32.844090Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 14.438 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-22T10:23:47.394802Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-22T10:23:47.405690Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-22T10:23:47.406338Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-22T10:23:47.433579Z INFO screenpipe_audio::audio_manager::manager: seeded 60 speakers (named + unnamed) from DB into embedding manager
2026-05-22T10:23:47.433654Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-22T10:23:47.433686Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-22T10:23:47.980858Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-22T10:23:48.105587Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-22T10:23:48.105714Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-22T10:23:48.105713Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
2026-05-22T10:23:54.819299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7443217622484599440, trigger=click)
2026-05-22T10:23:55.766541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68851 paired=1 still_pending=0
2026-05-22T10:23:57.603821Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-22T10:23:58.024382Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68852 paired=1 still_pending=0
2026-05-22T10:23:58.493391Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68854 paired=1 still_pending=2
2026-05-22T10:23:59.209854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:23:59.268980Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68853 paired=2 still_pending=0
2026-05-22T10:23:59.301677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:00.312589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5065144611963521308, trigger=click)
2026-05-22T10:24:01.629957Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-22T10:24:01.913030Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-22T10:24:01.913814Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input MacBook Pro Microphone (input): Audio device not found: MacBook Pro Microphone (will back off)
2026-05-22T10:24:02.190521Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335578Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-22T10:24:02.335720Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=MacBook Pro Microphone (input)
2026-05-22T10:24:02.335834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-22T10:24:07.635795Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-22T10:24:26.050807Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=177 elapsed=3.21525875s
2026-05-22T10:24:26.052106Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 177 eligible frames
2026-05-22T10:24:30.114705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 68 frames, 12.0MB → 2.5MB (4.9x), 68 JPEGs deleted
2026-05-22T10:24:36.141906Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 100 frames, 14.5MB → 5.8MB (2.5x), 100 JPEGs deleted
2026-05-22T10:24:37.687801Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 9 frames, 1.2MB → 0.6MB (1.9x), 9 JPEGs deleted
2026-05-22T10:25:48.878362Z INFO screenpipe_audio::audio_manager::reconciliation: reconciliation: successfully retried 1 pending transcriptions
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:25:50.391374Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:25:51.049678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9013788568056476015, trigger=visual_change)
2026-05-22T10:26:01.438597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=9 row_id=70511 frame_id=68854
2026-05-22T10:26:01.549852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=10 row_id=70512 frame_id=68854
2026-05-22T10:26:01.565449Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=1 total_pairs=7 total_evicted=4 total_failed=0
2026-05-22T10:26:02.597082Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68861 paired=1 still_pending=0
2026-05-22T10:26:15.506095Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68864 paired=1 still_pending=0
2026-05-22T10:26:15.924734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=1 still_pending=1
2026-05-22T10:26:28.896856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-877557384647667347, trigger=visual_change)
2026-05-22T10:26:36.303996Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68865 paired=2 still_pending=0
2026-05-22T10:26:36.308272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68866 paired=1 still_pending=1
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:27:51.849310Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-22T10:29:40.397423Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=3 elapsed=2.628815834s
2026-05-22T10:29:40.397685Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 3 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:29:53.287616Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-22T10:30:11.376404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=0 total_pairs=13 total_evicted=10 total_failed=0
2026-05-22T10:30:11.376653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68868 paired=2 still_pending=0
2026-05-22T10:30:13.771259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68882 paired=1 still_pending=0
2026-05-22T10:30:14.978829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68883 paired=2 still_pending=0
2026-05-22T10:30:14.988484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=24 row_id=70526 frame_id=68884
2026-05-22T10:30:24.624643Z WARN screenpipe_a11y::tree::macos_lines: lines: AXUIElementCopyParameterizedAttributeValue(AXLineForIndex) failed status=os::Status { raw: -25212, fcc: "....", help: "https://www.osstatus.com?search=-25212" } — first failure (further failures suppressed); search highlights will fall back to paragraph bbox on this app
2026-05-22T10:30:25.977641Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68885 paired=1 still_pending=0
2026-05-22T10:30:27.794568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68887 paired=1 still_pending=0
2026-05-22T10:30:29.144259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68889 paired=1 still_pending=0
2026-05-22T10:30:33.060850Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68890 paired=1 still_pending=0
2026-05-22T10:30:34.411204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68891 paired=1 still_pending=0
2026-05-22T10:30:36.044828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68892 paired=1 still_pending=0
2026-05-22T10:30:38.078633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68893 paired=1 still_pending=0
2026-05-22T10:30:39.195148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68894 paired=1 still_pending=0
2026-05-22T10:30:42.317983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68895 paired=1 still_pending=0
2026-05-22T10:30:43.486344Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68896 paired=1 still_pending=0
2026-05-22T10:30:45.189166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=2 still_pending=8
2026-05-22T10:30:46.540377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:46.650555Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6572287919365258477, trigger=click)
2026-05-22T10:30:51.451233Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=46 row_id=70548 frame_id=68896
2026-05-22T10:30:51.453754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68897 paired=1 still_pending=1
2026-05-22T10:30:52.972008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68898 paired=1 still_pending=0
2026-05-22T10:30:53.312211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68899 paired=1 still_pending=0
2026-05-22T10:30:54.579017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68900 paired=1 still_pending=0
2026-05-22T10:30:57.086727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68901 paired=2 still_pending=0
2026-05-22T10:30:58.376193Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68902 paired=1 still_pending=0
2026-05-22T10:30:59.647631Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68903 paired=1 still_pending=0
2026-05-22T10:31:00.125629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68904 paired=1 still_pending=0
2026-05-22T10:31:01.259371Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68905 paired=2 still_pending=0
2026-05-22T10:31:05.530892Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68906 paired=1 still_pending=0
2026-05-22T10:31:06.510523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68908 paired=1 still_pending=0
2026-05-22T10:31:07.351944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68907 paired=2 still_pending=0
2026-05-22T10:31:08.571131Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=62 row_id=70564 frame_id=68907
2026-05-22T10:31:11.041983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68910 paired=1 still_pending=0
2026-05-22T10:31:14.132792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=7 total_pairs=49 total_evicted=11 total_failed=0
2026-05-22T10:31:14.133491Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:14.427609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5308038648427695028, trigger=click)
2026-05-22T10:31:16.590189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68911 paired=1 still_pending=0
2026-05-22T10:31:17.753821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=1 still_pending=0
2026-05-22T10:31:17.915164Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=6 total_pairs=52 total_evicted=13 total_failed=0
2026-05-22T10:31:19.947661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68912 paired=2 still_pending=0
2026-05-22T10:31:44.607016Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=2 pending_frames=4 total_pairs=54 total_evicted=23 total_failed=0
2026-05-22T10:31:44.607219Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68913 paired=1 still_pending=0
2026-05-22T10:31:44.612964Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68914 paired=2 still_pending=7
2026-05-22T10:31:48.868737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=57 total_evicted=24 total_failed=0
2026-05-22T10:31:48.868868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68915 paired=1 still_pending=0
2026-05-22T10:31:49.989381Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68916 paired=1 still_pending=0
2026-05-22T10:31:51.090630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68917 paired=1 still_pending=2
2026-05-22T10:31:52.915677Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=4 total_pairs=60 total_evicted=25 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.300189Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68918 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:31:54.523126Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 19 orphaned chunks
2026-05-22T10:31:58.336078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68920 paired=1 still_pending=0
2026-05-22T10:31:59.110445Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68921 paired=1 still_pending=0
2026-05-22T10:32:21.334557Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=8 pending_frames=3 total_pairs=63 total_evicted=27 total_failed=0
2026-05-22T10:32:21.334737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68922 paired=1 still_pending=0
2026-05-22T10:32:21.348323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68923 paired=1 still_pending=3
2026-05-22T10:32:22.443283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68924 paired=2 still_pending=0
2026-05-22T10:32:54.460764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68925 paired=1 still_pending=0
2026-05-22T10:32:54.468699Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=10 pending_events=0 pending_frames=1 total_pairs=68 total_evicted=37 total_failed=0
2026-05-22T10:32:58.442474Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68929 paired=1 still_pending=0
2026-05-22T10:33:03.444260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68930 paired=1 still_pending=0
2026-05-22T10:33:06.861688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68931 paired=1 still_pending=0
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T10:33:28.105943Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=71 total_evicted=38 total_failed=0
2026-05-22T10:33:28.106348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68932 paired=1 still_pending=0
2026-05-22T10:33:28.320660Z WARN sqlx::query: summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement="" rows_affected=0 rows_returned=1 elapsed=5.366279208s
2026-05-22T10:33:28.321322Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), 2431 pages in WAL
2026-05-22T10:33:28.366117Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68933 paired=2 still_pending=4
2026-05-22T10:33:28.549602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68934 paired=1 still_pending=0
2026-05-22T10:33:35.130324Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68936 paired=1 still_pending=0
2026-05-22T10:33:37.787139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68938 paired=1 still_pending=0
2026-05-22T10:33:39.047944Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68939 paired=1 still_pending=0
2026-05-22T10:33:40.446396Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68940 paired=1 still_pending=0
2026-05-22T10:33:41.641045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68942 paired=1 still_pending=0
2026-05-22T10:33:57.917885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=80 total_evicted=39 total_failed=0
2026-05-22T10:34:32.917984Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=3 total_pairs=80 total_evicted=41 total_failed=0
2026-05-22T10:34:37.918963Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=80 total_evicted=42 total_failed=0
2026-05-22T10:34:42.085569Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=9 elapsed=1.67222475s
2026-05-22T10:34:42.086186Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 9 eligible frames
2026-05-22T10:34:42.918013Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=80 total_evicted=46 total_failed=0
2026-05-22T10:34:43.106868Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.4MB → 1.5MB (0.9x), 6 JPEGs deleted
2026-05-22T10:34:43.500729Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 3 frames, 0.5MB → 0.2MB (2.1x), 3 JPEGs deleted
2026-05-22T10:35:14.348520Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.675459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68948 paired=1 still_pending=0
2026-05-22T10:35:16.728783Z INFO screenpipe_a11y::platform::macos: clipboard capture: cleared legacy permanent-disable marker; clipboard reads will resume this session
2026-05-22T10:35:17.943681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=111 row_id=70613 frame_id=68948
2026-05-22T10:35:21.490195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=117 row_id=70619 frame_id=68951
2026-05-22T10:35:22.592046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=68951 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T10:35:54.784954Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: App...
|
69129
|
NULL
|
NULL
|
NULL
|
|
65277
|
2294
|
0
|
2026-05-21T07:11:30.557496+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-21/1779 /Users/lukas/.screenpipe/data/data/2026-05-21/1779347490557_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_backend_init_gpu: using Metal backend
ggml whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:06:17.434788Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-20T19:10:11.470051Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.058486667s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: install a starter bundle of pipes:
npx screenpipe install [URL_WITH_CREDENTIALS] record
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors ...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:06:17.434788Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:10:11.470051Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.058486667s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:12:22.964186Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:14:24.793808Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:15:13.045918Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.559040292s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:16:26.760236Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:18:28.403590Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:20:30.255602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:22:32.047109Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:24:33.736373Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:26:35.447983Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:28:37.309461Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:30:39.160036Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-20T19:32:31.822706Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:32:42.587514Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:32:49.945982Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-20T19:32:49.948962Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-05-20T19:32:49.955255Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-20T19:32:50.135042Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-20T19:32:50.852712Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-20T19:32:50.858391Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-20T19:32:51.835977Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-20T19:32:51.836039Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n^[[A2026-05-20T19:32:52.043226Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043362Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043458Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-20T19:32:52.141314Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=328 elapsed=1.541234791s\n2026-05-20T19:32:54.536586Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-21T10:11:29.868850Z INFO screenpipe: starting UI event capture\n2026-05-21T10:11:29.868435Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-05-21T10:11:29.879808Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-21T10:11:29.880398Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-21T10:11:29.889974Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-21T10:11:29.908068Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908107Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908187Z INFO screenpipe_engine::ui_recorder: UI recording session started: f6b2b47e-01eb-4dbd-81eb-34da08d6242a\n2026-05-21T10:11:29.908379Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-21T10:11:29.908439Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-20 07:11:29.908438 UTC to 2026-05-21 07:11:29.908438 UTC)\n2026-05-21T10:11:29.914769Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-21T10:11:29.921062Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-21T10:11:29.937221Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-21T10:11:30.054967Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-21T10:11:30.054997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.055038Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.104678Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-21T10:11:30.104711Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.104725Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-21T10:11:30.104749Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-21T10:11:30.104792Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.645313Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)","depth":4,"on_screen":true,"value":"whisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:06:17.434788Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:10:11.470051Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.058486667s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:12:22.964186Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:14:24.793808Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:15:13.045918Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.559040292s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:16:26.760236Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:18:28.403590Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:20:30.255602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:22:32.047109Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:24:33.736373Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:26:35.447983Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:28:37.309461Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:30:39.160036Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-20T19:32:31.822706Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:32:42.587514Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:32:49.945982Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-20T19:32:49.948962Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-05-20T19:32:49.955255Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-20T19:32:50.135042Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-20T19:32:50.852712Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-20T19:32:50.858391Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-20T19:32:51.835977Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-20T19:32:51.836039Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n^[[A2026-05-20T19:32:52.043226Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043362Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043458Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-20T19:32:52.141314Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=328 elapsed=1.541234791s\n2026-05-20T19:32:54.536586Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-21T10:11:29.868850Z INFO screenpipe: starting UI event capture\n2026-05-21T10:11:29.868435Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-05-21T10:11:29.879808Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-21T10:11:29.880398Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-21T10:11:29.889974Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-21T10:11:29.908068Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908107Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908187Z INFO screenpipe_engine::ui_recorder: UI recording session started: f6b2b47e-01eb-4dbd-81eb-34da08d6242a\n2026-05-21T10:11:29.908379Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-21T10:11:29.908439Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-20 07:11:29.908438 UTC to 2026-05-21 07:11:29.908438 UTC)\n2026-05-21T10:11:29.914769Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-21T10:11:29.921062Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-21T10:11:29.937221Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-21T10:11:30.054967Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-21T10:11:30.054997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.055038Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.104678Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-21T10:11:30.104711Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.104725Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-21T10:11:30.104749Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-21T10:11:30.104792Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.645313Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.19722222,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.2013889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.39444444,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.3986111,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.59166664,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.59583336,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7888889,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.79305553,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.95763886,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4722222,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-3595772243300857076
|
-851668782262979104
|
manual
|
accessibility
|
NULL
|
whisper_backend_init_gpu: using Metal backend
ggml whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:06:17.434788Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-20T19:10:11.470051Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.058486667s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: install a starter bundle of pipes:
npx screenpipe install [URL_WITH_CREDENTIALS] record
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors ...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
65278
|
2295
|
0
|
2026-05-21T07:11:30.605860+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-21/1779 /Users/lukas/.screenpipe/data/data/2026-05-21/1779347490605_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
ggml_metal_init: allocating
ggml_metal_init: found ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:06:17.434788Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-20T19:10:11.470051Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.058486667s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: install a starter bundle of pipes:
npx screenpipe install [URL_WITH_CREDENTIALS] record
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ ...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"ggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:06:17.434788Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:10:11.470051Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.058486667s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:12:22.964186Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:14:24.793808Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:15:13.045918Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.559040292s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:16:26.760236Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:18:28.403590Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:20:30.255602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:22:32.047109Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:24:33.736373Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:26:35.447983Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:28:37.309461Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:30:39.160036Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-20T19:32:31.822706Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:32:42.587514Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:32:49.945982Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-20T19:32:49.948962Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-05-20T19:32:49.955255Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-20T19:32:50.135042Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-20T19:32:50.852712Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-20T19:32:50.858391Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-20T19:32:51.835977Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-20T19:32:51.836039Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n^[[A2026-05-20T19:32:52.043226Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043362Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043458Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-20T19:32:52.141314Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=328 elapsed=1.541234791s\n2026-05-20T19:32:54.536586Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-21T10:11:29.868850Z INFO screenpipe: starting UI event capture\n2026-05-21T10:11:29.868435Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-05-21T10:11:29.879808Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-21T10:11:29.880398Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-21T10:11:29.889974Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-21T10:11:29.908068Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908107Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908187Z INFO screenpipe_engine::ui_recorder: UI recording session started: f6b2b47e-01eb-4dbd-81eb-34da08d6242a\n2026-05-21T10:11:29.908379Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-21T10:11:29.908439Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-20 07:11:29.908438 UTC to 2026-05-21 07:11:29.908438 UTC)\n2026-05-21T10:11:29.914769Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-21T10:11:29.921062Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-21T10:11:29.937221Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-21T10:11:30.054967Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-21T10:11:30.054997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.055038Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.104678Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-21T10:11:30.104711Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.104725Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-21T10:11:30.104749Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-21T10:11:30.104792Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.645313Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-21T10:11:30.763927Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)","depth":4,"on_screen":true,"value":"ggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:06:17.434788Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:10:11.470051Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.058486667s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:12:22.964186Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:14:24.793808Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:15:13.045918Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.559040292s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:16:26.760236Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:18:28.403590Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:20:30.255602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:22:32.047109Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:24:33.736373Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:26:35.447983Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:28:37.309461Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:30:39.160036Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-20T19:32:31.822706Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:32:42.587514Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:32:49.945982Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-20T19:32:49.948962Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-05-20T19:32:49.955255Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-20T19:32:50.135042Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-20T19:32:50.852712Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-20T19:32:50.858391Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-20T19:32:51.835977Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-20T19:32:51.836039Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n^[[A2026-05-20T19:32:52.043226Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043362Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043458Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-20T19:32:52.141314Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=328 elapsed=1.541234791s\n2026-05-20T19:32:54.536586Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-21T10:11:29.868850Z INFO screenpipe: starting UI event capture\n2026-05-21T10:11:29.868435Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-05-21T10:11:29.879808Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-21T10:11:29.880398Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-21T10:11:29.889974Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-21T10:11:29.908068Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908107Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908187Z INFO screenpipe_engine::ui_recorder: UI recording session started: f6b2b47e-01eb-4dbd-81eb-34da08d6242a\n2026-05-21T10:11:29.908379Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-21T10:11:29.908439Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-20 07:11:29.908438 UTC to 2026-05-21 07:11:29.908438 UTC)\n2026-05-21T10:11:29.914769Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-21T10:11:29.921062Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-21T10:11:29.937221Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-21T10:11:30.054967Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-21T10:11:30.054997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.055038Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.104678Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-21T10:11:30.104711Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.104725Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-21T10:11:30.104749Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-21T10:11:30.104792Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.645313Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-21T10:11:30.763927Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.36469415,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.36668882,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.45910904,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.46110374,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.55352396,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.5555186,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.64793885,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6499335,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7287234,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.49634308,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
8376623247450099627
|
-851668782262979104
|
manual
|
accessibility
|
NULL
|
ggml_metal_init: allocating
ggml_metal_init: found ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:06:17.434788Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-20T19:10:11.470051Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.058486667s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: install a starter bundle of pipes:
npx screenpipe install [URL_WITH_CREDENTIALS] record
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ ...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
65279
|
2294
|
1
|
2026-05-21T07:11:36.133456+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-21/1779 /Users/lukas/.screenpipe/data/data/2026-05-21/1779347496133_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_init_state: compute buffer (cross) = 8 whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:06:17.434788Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-20T19:10:11.470051Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.058486667s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: install a starter bundle of pipes:
npx screenpipe install [URL_WITH_CREDENTIALS] record
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) ...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:06:17.434788Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:10:11.470051Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.058486667s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:12:22.964186Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:14:24.793808Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:15:13.045918Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.559040292s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:16:26.760236Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:18:28.403590Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:20:30.255602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:22:32.047109Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:24:33.736373Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:26:35.447983Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:28:37.309461Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:30:39.160036Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-20T19:32:31.822706Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:32:42.587514Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:32:49.945982Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-20T19:32:49.948962Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-05-20T19:32:49.955255Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-20T19:32:50.135042Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-20T19:32:50.852712Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-20T19:32:50.858391Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-20T19:32:51.835977Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-20T19:32:51.836039Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n^[[A2026-05-20T19:32:52.043226Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043362Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043458Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-20T19:32:52.141314Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=328 elapsed=1.541234791s\n2026-05-20T19:32:54.536586Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-21T10:11:29.868850Z INFO screenpipe: starting UI event capture\n2026-05-21T10:11:29.868435Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-05-21T10:11:29.879808Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-21T10:11:29.880398Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-21T10:11:29.889974Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-21T10:11:29.908068Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908107Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908187Z INFO screenpipe_engine::ui_recorder: UI recording session started: f6b2b47e-01eb-4dbd-81eb-34da08d6242a\n2026-05-21T10:11:29.908379Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-21T10:11:29.908439Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-20 07:11:29.908438 UTC to 2026-05-21 07:11:29.908438 UTC)\n2026-05-21T10:11:29.914769Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-21T10:11:29.921062Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-21T10:11:29.937221Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-21T10:11:30.054967Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-21T10:11:30.054997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.055038Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.104678Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-21T10:11:30.104711Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.104725Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-21T10:11:30.104749Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-21T10:11:30.104792Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.645313Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-21T10:11:30.763927Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-21T10:11:30.836617Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=65277, dur=98ms\n2026-05-21T10:11:30.938518Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=65278, dur=119ms\n2026-05-21T10:11:30.943456Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-21T10:11:33.448370Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=5220 elapsed=3.539106541s\n2026-05-21T10:11:33.461817Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 5220 frame entries, coverage from 2026-05-20 07:11:29.908438 UTC","depth":4,"on_screen":true,"value":"whisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:06:17.434788Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:10:11.470051Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.058486667s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:12:22.964186Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:14:24.793808Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:15:13.045918Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.559040292s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:16:26.760236Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:18:28.403590Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:20:30.255602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:22:32.047109Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:24:33.736373Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:26:35.447983Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:28:37.309461Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:30:39.160036Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-20T19:32:31.822706Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:32:42.587514Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:32:49.945982Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-20T19:32:49.948962Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-05-20T19:32:49.955255Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-20T19:32:50.135042Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-20T19:32:50.852712Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-20T19:32:50.858391Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-20T19:32:51.835977Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-20T19:32:51.836039Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n^[[A2026-05-20T19:32:52.043226Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043362Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043458Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-20T19:32:52.141314Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=328 elapsed=1.541234791s\n2026-05-20T19:32:54.536586Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-21T10:11:29.868850Z INFO screenpipe: starting UI event capture\n2026-05-21T10:11:29.868435Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-05-21T10:11:29.879808Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-21T10:11:29.880398Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-21T10:11:29.889974Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-21T10:11:29.908068Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908107Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908187Z INFO screenpipe_engine::ui_recorder: UI recording session started: f6b2b47e-01eb-4dbd-81eb-34da08d6242a\n2026-05-21T10:11:29.908379Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-21T10:11:29.908439Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-20 07:11:29.908438 UTC to 2026-05-21 07:11:29.908438 UTC)\n2026-05-21T10:11:29.914769Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-21T10:11:29.921062Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-21T10:11:29.937221Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-21T10:11:30.054967Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-21T10:11:30.054997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.055038Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.104678Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-21T10:11:30.104711Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.104725Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-21T10:11:30.104749Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-21T10:11:30.104792Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.645313Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-21T10:11:30.763927Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-21T10:11:30.836617Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=65277, dur=98ms\n2026-05-21T10:11:30.938518Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=65278, dur=119ms\n2026-05-21T10:11:30.943456Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-21T10:11:33.448370Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=5220 elapsed=3.539106541s\n2026-05-21T10:11:33.461817Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 5220 frame entries, coverage from 2026-05-20 07:11:29.908438 UTC","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.19722222,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.2013889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.39444444,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.3986111,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.59166664,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.59583336,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7888889,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.79305553,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.95763886,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4722222,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
1738385113116833761
|
-851668765083109920
|
visual_change
|
accessibility
|
NULL
|
whisper_init_state: compute buffer (cross) = 8 whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:06:17.434788Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-20T19:10:11.470051Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.058486667s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: install a starter bundle of pipes:
npx screenpipe install [URL_WITH_CREDENTIALS] record
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) ...
|
65277
|
NULL
|
NULL
|
NULL
|
|
65280
|
2294
|
2
|
2026-05-21T07:11:42.190945+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-21/1779 /Users/lukas/.screenpipe/data/data/2026-05-21/1779347502190_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_init_state: kv cross size = 9.44 MB
whi whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-20T19:10:11.470051Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.058486667s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: install a starter bundle of pipes:
npx screenpipe install [URL_WITH_CREDENTIALS] record
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-21T10:11:29.868850Z INFO screenpipe: starting UI event capture
2026-05-21T10:11:29.868435Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
2026-05-21T10:11:29.879808Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-21T10:11:29.880398Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-21T10:11:29.889974Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-21T10:11:29.908068Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-21T10:11:29.908107Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-21T10:11:29.908187Z INFO screenpipe_engine::ui_recorder: UI recording session started: f6b2b47e-01eb-4dbd-81eb-34da08d6242a
2026-05-21T10:11:29.908379Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-21T10:11:29.908439Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-20 07:11:29.908438 UTC to 2026-05-21 07:11:29.908438 UTC)
2026-05-21T10:11:29.914769Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-21T10:11:29.921062Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-21T10:11:29.937221Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-21T10:11:30.054967Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-21T10:11:30.054997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-21T10:11:30.055038Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-21T10:11:30.104678Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-21T10:11:30.104711Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-21T10:11:30.104725Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-21T10:11:30.104749Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-21T10:11:30.104792Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-21T10:11:30.645313Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-21T10:11:30.763927Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:10:11.470051Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.058486667s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:12:22.964186Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:14:24.793808Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:15:13.045918Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.559040292s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:16:26.760236Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:18:28.403590Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:20:30.255602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:22:32.047109Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:24:33.736373Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:26:35.447983Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:28:37.309461Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:30:39.160036Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-20T19:32:31.822706Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:32:42.587514Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:32:49.945982Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-20T19:32:49.948962Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-05-20T19:32:49.955255Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-20T19:32:50.135042Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-20T19:32:50.852712Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-20T19:32:50.858391Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-20T19:32:51.835977Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-20T19:32:51.836039Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n^[[A2026-05-20T19:32:52.043226Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043362Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043458Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-20T19:32:52.141314Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=328 elapsed=1.541234791s\n2026-05-20T19:32:54.536586Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-21T10:11:29.868850Z INFO screenpipe: starting UI event capture\n2026-05-21T10:11:29.868435Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-05-21T10:11:29.879808Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-21T10:11:29.880398Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-21T10:11:29.889974Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-21T10:11:29.908068Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908107Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908187Z INFO screenpipe_engine::ui_recorder: UI recording session started: f6b2b47e-01eb-4dbd-81eb-34da08d6242a\n2026-05-21T10:11:29.908379Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-21T10:11:29.908439Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-20 07:11:29.908438 UTC to 2026-05-21 07:11:29.908438 UTC)\n2026-05-21T10:11:29.914769Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-21T10:11:29.921062Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-21T10:11:29.937221Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-21T10:11:30.054967Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-21T10:11:30.054997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.055038Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.104678Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-21T10:11:30.104711Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.104725Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-21T10:11:30.104749Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-21T10:11:30.104792Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.645313Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-21T10:11:30.763927Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-21T10:11:30.836617Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=65277, dur=98ms\n2026-05-21T10:11:30.938518Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=65278, dur=119ms\n2026-05-21T10:11:30.943456Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-21T10:11:33.448370Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=5220 elapsed=3.539106541s\n2026-05-21T10:11:33.461817Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 5220 frame entries, coverage from 2026-05-20 07:11:29.908438 UTC\n2026-05-21T10:11:39.871310Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-21T10:11:39.873258Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-21T10:11:39.873556Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-21T10:11:39.873584Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 0.033 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-21T10:11:40.010539Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-21T10:11:40.015528Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-21T10:11:40.015804Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-21T10:11:40.016864Z INFO screenpipe_audio::audio_manager::manager: seeded 38 speakers (named + unnamed) from DB into embedding manager\n2026-05-21T10:11:40.017136Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-21T10:11:40.017146Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-21T10:11:40.540508Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-21T10:11:40.626090Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-21T10:11:40.626244Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-21T10:11:40.626421Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)","depth":4,"on_screen":true,"value":"whisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:10:11.470051Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.058486667s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:12:22.964186Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:14:24.793808Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:15:13.045918Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.559040292s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:16:26.760236Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:18:28.403590Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:20:30.255602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:22:32.047109Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:24:33.736373Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:26:35.447983Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:28:37.309461Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:30:39.160036Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-20T19:32:31.822706Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:32:42.587514Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:32:49.945982Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-20T19:32:49.948962Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-05-20T19:32:49.955255Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-20T19:32:50.135042Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-20T19:32:50.852712Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-20T19:32:50.858391Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-20T19:32:51.835977Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-20T19:32:51.836039Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n^[[A2026-05-20T19:32:52.043226Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043362Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043458Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-20T19:32:52.141314Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=328 elapsed=1.541234791s\n2026-05-20T19:32:54.536586Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-21T10:11:29.868850Z INFO screenpipe: starting UI event capture\n2026-05-21T10:11:29.868435Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-05-21T10:11:29.879808Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-21T10:11:29.880398Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-21T10:11:29.889974Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-21T10:11:29.908068Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908107Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908187Z INFO screenpipe_engine::ui_recorder: UI recording session started: f6b2b47e-01eb-4dbd-81eb-34da08d6242a\n2026-05-21T10:11:29.908379Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-21T10:11:29.908439Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-20 07:11:29.908438 UTC to 2026-05-21 07:11:29.908438 UTC)\n2026-05-21T10:11:29.914769Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-21T10:11:29.921062Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-21T10:11:29.937221Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-21T10:11:30.054967Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-21T10:11:30.054997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.055038Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.104678Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-21T10:11:30.104711Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.104725Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-21T10:11:30.104749Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-21T10:11:30.104792Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.645313Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-21T10:11:30.763927Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-21T10:11:30.836617Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=65277, dur=98ms\n2026-05-21T10:11:30.938518Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=65278, dur=119ms\n2026-05-21T10:11:30.943456Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-21T10:11:33.448370Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=5220 elapsed=3.539106541s\n2026-05-21T10:11:33.461817Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 5220 frame entries, coverage from 2026-05-20 07:11:29.908438 UTC\n2026-05-21T10:11:39.871310Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-21T10:11:39.873258Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-21T10:11:39.873556Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-21T10:11:39.873584Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 0.033 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-21T10:11:40.010539Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-21T10:11:40.015528Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-21T10:11:40.015804Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-21T10:11:40.016864Z INFO screenpipe_audio::audio_manager::manager: seeded 38 speakers (named + unnamed) from DB into embedding manager\n2026-05-21T10:11:40.017136Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-21T10:11:40.017146Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-21T10:11:40.540508Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-21T10:11:40.626090Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-21T10:11:40.626244Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-21T10:11:40.626421Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.19722222,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.2013889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.39444444,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.3986111,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.59166664,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.59583336,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7888889,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.79305553,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.95763886,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4722222,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
9120118327888465727
|
-5463917731316435488
|
visual_change
|
accessibility
|
NULL
|
whisper_init_state: kv cross size = 9.44 MB
whi whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-20T19:10:11.470051Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.058486667s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: install a starter bundle of pipes:
npx screenpipe install [URL_WITH_CREDENTIALS] record
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-21T10:11:29.868850Z INFO screenpipe: starting UI event capture
2026-05-21T10:11:29.868435Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
2026-05-21T10:11:29.879808Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-21T10:11:29.880398Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-21T10:11:29.889974Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-21T10:11:29.908068Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-21T10:11:29.908107Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-21T10:11:29.908187Z INFO screenpipe_engine::ui_recorder: UI recording session started: f6b2b47e-01eb-4dbd-81eb-34da08d6242a
2026-05-21T10:11:29.908379Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-21T10:11:29.908439Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-20 07:11:29.908438 UTC to 2026-05-21 07:11:29.908438 UTC)
2026-05-21T10:11:29.914769Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-21T10:11:29.921062Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-21T10:11:29.937221Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-21T10:11:30.054967Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-21T10:11:30.054997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-21T10:11:30.055038Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-21T10:11:30.104678Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-21T10:11:30.104711Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-21T10:11:30.104725Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-21T10:11:30.104749Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-21T10:11:30.104792Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-21T10:11:30.645313Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-21T10:11:30.763927Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
65281
|
2294
|
3
|
2026-05-21T07:11:51.682014+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-21/1779 /Users/lukas/.screenpipe/data/data/2026-05-21/1779347511682_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_init_state: kv pad size = 2.36 MB
whi whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-20T19:10:11.470051Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.058486667s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: install a starter bundle of pipes:
npx screenpipe install [URL_WITH_CREDENTIALS] record
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-21T10:11:29.868850Z INFO screenpipe: starting UI event capture
2026-05-21T10:11:29.868435Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
2026-05-21T10:11:29.879808Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-21T10:11:29.880398Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-21T10:11:29.889974Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-21T10:11:29.908068Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-21T10:11:29.908107Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-21T10:11:29.908187Z INFO screenpipe_engine::ui_recorder: UI recording session started: f6b2b47e-01eb-4dbd-81eb-34da08d6242a
2026-05-21T10:11:29.908379Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-21T10:11:29.908439Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-20 07:11:29.908438 UTC to 2026-05-21 07:11:29.908438 UTC)
2026-05-21T10:11:29.914769Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-21T10:11:29.921062Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-21T10:11:29.937221Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-21T10:11:30.054967Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-21T10:11:30.054997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-21T10:11:30.055038Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-21T10:11:30.104678Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-21T10:11:30.104711Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-21T10:11:30.104725Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-21T10:11:30.104749Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-21T10:11:30.104792Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-21T10:11:30.645313Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-21T10:11:30.763927Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-21T10:11:30.836617Z INFO screenpipe_e...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:10:11.470051Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.058486667s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:12:22.964186Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:14:24.793808Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:15:13.045918Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.559040292s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:16:26.760236Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:18:28.403590Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:20:30.255602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:22:32.047109Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:24:33.736373Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:26:35.447983Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:28:37.309461Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:30:39.160036Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-20T19:32:31.822706Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:32:42.587514Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:32:49.945982Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-20T19:32:49.948962Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-05-20T19:32:49.955255Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-20T19:32:50.135042Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-20T19:32:50.852712Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-20T19:32:50.858391Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-20T19:32:51.835977Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-20T19:32:51.836039Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n^[[A2026-05-20T19:32:52.043226Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043362Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043458Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-20T19:32:52.141314Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=328 elapsed=1.541234791s\n2026-05-20T19:32:54.536586Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-21T10:11:29.868850Z INFO screenpipe: starting UI event capture\n2026-05-21T10:11:29.868435Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-05-21T10:11:29.879808Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-21T10:11:29.880398Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-21T10:11:29.889974Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-21T10:11:29.908068Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908107Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908187Z INFO screenpipe_engine::ui_recorder: UI recording session started: f6b2b47e-01eb-4dbd-81eb-34da08d6242a\n2026-05-21T10:11:29.908379Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-21T10:11:29.908439Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-20 07:11:29.908438 UTC to 2026-05-21 07:11:29.908438 UTC)\n2026-05-21T10:11:29.914769Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-21T10:11:29.921062Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-21T10:11:29.937221Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-21T10:11:30.054967Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-21T10:11:30.054997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.055038Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.104678Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-21T10:11:30.104711Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.104725Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-21T10:11:30.104749Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-21T10:11:30.104792Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.645313Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-21T10:11:30.763927Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-21T10:11:30.836617Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=65277, dur=98ms\n2026-05-21T10:11:30.938518Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=65278, dur=119ms\n2026-05-21T10:11:30.943456Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-21T10:11:33.448370Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=5220 elapsed=3.539106541s\n2026-05-21T10:11:33.461817Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 5220 frame entries, coverage from 2026-05-20 07:11:29.908438 UTC\n2026-05-21T10:11:39.871310Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-21T10:11:39.873258Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-21T10:11:39.873556Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-21T10:11:39.873584Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 0.033 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-21T10:11:40.010539Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-21T10:11:40.015528Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-21T10:11:40.015804Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-21T10:11:40.016864Z INFO screenpipe_audio::audio_manager::manager: seeded 38 speakers (named + unnamed) from DB into embedding manager\n2026-05-21T10:11:40.017136Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-21T10:11:40.017146Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-21T10:11:40.540508Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-21T10:11:40.626090Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-21T10:11:40.626244Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-21T10:11:40.626421Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-21T10:11:51.315995Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9120118327888465727, trigger=visual_change)","depth":4,"on_screen":true,"value":"whisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:10:11.470051Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.058486667s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:12:22.964186Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:14:24.793808Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:15:13.045918Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.559040292s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:16:26.760236Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:18:28.403590Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:20:30.255602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:22:32.047109Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:24:33.736373Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:26:35.447983Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:28:37.309461Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:30:39.160036Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-20T19:32:31.822706Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-20T19:32:42.587514Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-20T19:32:49.945982Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-20T19:32:49.948962Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-05-20T19:32:49.955255Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-20T19:32:50.135042Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-20T19:32:50.852712Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-20T19:32:50.858391Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-20T19:32:51.835977Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-20T19:32:51.836039Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n^[[A2026-05-20T19:32:52.043226Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043362Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-20T19:32:52.043458Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-20T19:32:52.141314Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=328 elapsed=1.541234791s\n2026-05-20T19:32:54.536586Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ soundcore AeroClip (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-21T10:11:29.868850Z INFO screenpipe: starting UI event capture\n2026-05-21T10:11:29.868435Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-05-21T10:11:29.879808Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))\n2026-05-21T10:11:29.880398Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-21T10:11:29.889974Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-21T10:11:29.908068Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908107Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-21T10:11:29.908187Z INFO screenpipe_engine::ui_recorder: UI recording session started: f6b2b47e-01eb-4dbd-81eb-34da08d6242a\n2026-05-21T10:11:29.908379Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-21T10:11:29.908439Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-20 07:11:29.908438 UTC to 2026-05-21 07:11:29.908438 UTC)\n2026-05-21T10:11:29.914769Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-21T10:11:29.921062Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-21T10:11:29.937221Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-21T10:11:30.054967Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-21T10:11:30.054997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.055038Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-21T10:11:30.104678Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-21T10:11:30.104711Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.104725Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-21T10:11:30.104749Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-21T10:11:30.104792Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-21T10:11:30.645313Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-21T10:11:30.763927Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-21T10:11:30.836617Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=65277, dur=98ms\n2026-05-21T10:11:30.938518Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=65278, dur=119ms\n2026-05-21T10:11:30.943456Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-21T10:11:33.448370Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=5220 elapsed=3.539106541s\n2026-05-21T10:11:33.461817Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 5220 frame entries, coverage from 2026-05-20 07:11:29.908438 UTC\n2026-05-21T10:11:39.871310Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-21T10:11:39.873258Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-21T10:11:39.873556Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-21T10:11:39.873584Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 0.033 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-21T10:11:40.010539Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-21T10:11:40.015528Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-21T10:11:40.015804Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-21T10:11:40.016864Z INFO screenpipe_audio::audio_manager::manager: seeded 38 speakers (named + unnamed) from DB into embedding manager\n2026-05-21T10:11:40.017136Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-21T10:11:40.017146Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-21T10:11:40.540508Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-21T10:11:40.626090Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-21T10:11:40.626244Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-21T10:11:40.626421Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-21T10:11:51.315995Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9120118327888465727, trigger=visual_change)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.19722222,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.2013889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.39444444,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.3986111,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.59166664,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.59583336,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7888889,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.79305553,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.95763886,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4722222,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-2255814125109838298
|
-5463917733463919136
|
click
|
accessibility
|
NULL
|
whisper_init_state: kv pad size = 2.36 MB
whi whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:08:19.251183Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-20T19:10:11.470051Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.058486667s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-20T19:10:21.283568Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: install a starter bundle of pipes:
npx screenpipe install [URL_WITH_CREDENTIALS] record
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20915-add-domain-specific-email-text-relay) $ npx screenpipe@latest record
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-21T10:11:28.812800Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-21T10:11:29.403793Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-21T10:11:29.405262Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-21T10:11:29.405694Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-21T10:11:29.440117Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-21T10:11:29.440205Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-21T10:11:29.859450Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-21T10:11:29.859593Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-21T10:11:29.859452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-21T10:11:29.859531Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-21T10:11:29.859724Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
2026-05-21T10:11:29.865055Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-21T10:11:29.865404Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-21T10:11:29.865778Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-21T10:11:29.865900Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-21T10:11:29.865986Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-21T10:11:29.866090Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-21T10:11:29.866113Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ soundcore AeroClip (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-21T10:11:29.868850Z INFO screenpipe: starting UI event capture
2026-05-21T10:11:29.868435Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
2026-05-21T10:11:29.879808Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100))
2026-05-21T10:11:29.880398Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-21T10:11:29.889974Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-21T10:11:29.908068Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-21T10:11:29.908107Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-21T10:11:29.908187Z INFO screenpipe_engine::ui_recorder: UI recording session started: f6b2b47e-01eb-4dbd-81eb-34da08d6242a
2026-05-21T10:11:29.908379Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-21T10:11:29.908439Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-20 07:11:29.908438 UTC to 2026-05-21 07:11:29.908438 UTC)
2026-05-21T10:11:29.914769Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-21T10:11:29.921062Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-21T10:11:29.937221Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-21T10:11:30.054967Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-21T10:11:30.054997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-21T10:11:30.055038Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-21T10:11:30.104678Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-21T10:11:30.104711Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-21T10:11:30.104725Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-21T10:11:30.104749Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-21T10:11:30.104792Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-21T10:11:30.645313Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-21T10:11:30.763927Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)
2026-05-21T10:11:30.836617Z INFO screenpipe_e...
|
65280
|
NULL
|
NULL
|
NULL
|
|
65586
|
2314
|
7
|
2026-05-21T07:59:46.721231+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-21/1779 /Users/lukas/.screenpipe/data/data/2026-05-21/1779350386721_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
ggml_metal_free: deallocating
whisper_backend_init ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-21T10:50:02.716445Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-21T10:50:26.173007Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect
2026-05-21T10:50:26.174754Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)
2026-05-21T10:50:26.286339Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart
2026-05-21T10:50:26.286497Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)
2026-05-21T10:50:26.434065Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-21T10:50:26.434181Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)
2026-05-21T10:50:26.434266Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-21T10:50:59.439027Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect
2026-05-21T10:50:59.439405Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)
2026-05-21T10:51:01.489152Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart
2026-05-21T10:51:01.489231Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)
2026-05-21T10:51:01.862286Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-21T10:51:01.862368Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)
2026-05-21T10:51:01.862395Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-21T10:52:04.275911Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-21T10:52:54.672381Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=60 elapsed=1.326927083s
2026-05-21T10:52:54.672640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames
2026-05-21T10:52:56.571008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.3MB → 0.4MB (19.5x), 32 JPEGs deleted
2026-05-21T10:52:58.103692Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.7MB → 0.3MB (16.3x), 26 JPEGs deleted
2026-05-21T10:53:51.629096Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1405148025673151884, trigger=click)
2026-05-21T10:53:51.634041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1405148025673151884, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-21T10:54:05.843948Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-21T10:56:07.333308Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
2026-05-21T10:57:58.850200Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames
2026-05-21T10:57:59.650182Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.5MB → 0.4MB (6.8x), 11 JPEGs deleted
2026-05-21T10:58:00.491257Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.4MB → 0.3MB (8.2x), 13 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_ini...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"ggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:50:02.716445Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-21T10:50:26.173007Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect\n2026-05-21T10:50:26.174754Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)\n2026-05-21T10:50:26.286339Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-21T10:50:26.286497Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-21T10:50:26.434065Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-21T10:50:26.434181Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-21T10:50:26.434266Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-21T10:50:59.439027Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect\n2026-05-21T10:50:59.439405Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)\n2026-05-21T10:51:01.489152Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-21T10:51:01.489231Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-21T10:51:01.862286Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-21T10:51:01.862368Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-21T10:51:01.862395Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:52:04.275911Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-21T10:52:54.672381Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=60 elapsed=1.326927083s\n2026-05-21T10:52:54.672640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-05-21T10:52:56.571008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.3MB → 0.4MB (19.5x), 32 JPEGs deleted\n2026-05-21T10:52:58.103692Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.7MB → 0.3MB (16.3x), 26 JPEGs deleted\n2026-05-21T10:53:51.629096Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1405148025673151884, trigger=click)\n2026-05-21T10:53:51.634041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1405148025673151884, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:54:05.843948Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:56:07.333308Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-21T10:57:58.850200Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-21T10:57:59.650182Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.5MB → 0.4MB (6.8x), 11 JPEGs deleted\n2026-05-21T10:58:00.491257Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.4MB → 0.3MB (8.2x), 13 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:58:08.920298Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks","depth":4,"on_screen":true,"value":"ggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:50:02.716445Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-21T10:50:26.173007Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect\n2026-05-21T10:50:26.174754Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)\n2026-05-21T10:50:26.286339Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-21T10:50:26.286497Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-21T10:50:26.434065Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-21T10:50:26.434181Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-21T10:50:26.434266Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-21T10:50:59.439027Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect\n2026-05-21T10:50:59.439405Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)\n2026-05-21T10:51:01.489152Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-21T10:51:01.489231Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-21T10:51:01.862286Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-21T10:51:01.862368Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-21T10:51:01.862395Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:52:04.275911Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-21T10:52:54.672381Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=60 elapsed=1.326927083s\n2026-05-21T10:52:54.672640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-05-21T10:52:56.571008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.3MB → 0.4MB (19.5x), 32 JPEGs deleted\n2026-05-21T10:52:58.103692Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.7MB → 0.3MB (16.3x), 26 JPEGs deleted\n2026-05-21T10:53:51.629096Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1405148025673151884, trigger=click)\n2026-05-21T10:53:51.634041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1405148025673151884, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:54:05.843948Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:56:07.333308Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-21T10:57:58.850200Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-21T10:57:59.650182Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.5MB → 0.4MB (6.8x), 11 JPEGs deleted\n2026-05-21T10:58:00.491257Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.4MB → 0.3MB (8.2x), 13 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:58:08.920298Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.19722222,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.2013889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.39444444,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.3986111,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.59166664,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.59583336,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7888889,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.79305553,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.95763886,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4722222,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-131681172008814643
|
-816202918017567264
|
app_switch
|
accessibility
|
NULL
|
ggml_metal_free: deallocating
whisper_backend_init ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-21T10:50:02.716445Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-21T10:50:26.173007Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect
2026-05-21T10:50:26.174754Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)
2026-05-21T10:50:26.286339Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart
2026-05-21T10:50:26.286497Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)
2026-05-21T10:50:26.434065Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-21T10:50:26.434181Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)
2026-05-21T10:50:26.434266Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-21T10:50:59.439027Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect
2026-05-21T10:50:59.439405Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)
2026-05-21T10:51:01.489152Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart
2026-05-21T10:51:01.489231Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)
2026-05-21T10:51:01.862286Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-21T10:51:01.862368Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)
2026-05-21T10:51:01.862395Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-21T10:52:04.275911Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-21T10:52:54.672381Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=60 elapsed=1.326927083s
2026-05-21T10:52:54.672640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames
2026-05-21T10:52:56.571008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.3MB → 0.4MB (19.5x), 32 JPEGs deleted
2026-05-21T10:52:58.103692Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.7MB → 0.3MB (16.3x), 26 JPEGs deleted
2026-05-21T10:53:51.629096Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1405148025673151884, trigger=click)
2026-05-21T10:53:51.634041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1405148025673151884, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-21T10:54:05.843948Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-21T10:56:07.333308Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
2026-05-21T10:57:58.850200Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames
2026-05-21T10:57:59.650182Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.5MB → 0.4MB (6.8x), 11 JPEGs deleted
2026-05-21T10:58:00.491257Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.4MB → 0.3MB (8.2x), 13 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_ini...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
65587
|
2315
|
7
|
2026-05-21T07:59:46.739935+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-21/1779 /Users/lukas/.screenpipe/data/data/2026-05-21/1779350386739_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
ggml_metal_free: deallocating
whisper_backend_init ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-21T10:50:02.716445Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-21T10:50:26.173007Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect
2026-05-21T10:50:26.174754Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)
2026-05-21T10:50:26.286339Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart
2026-05-21T10:50:26.286497Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)
2026-05-21T10:50:26.434065Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-21T10:50:26.434181Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)
2026-05-21T10:50:26.434266Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-21T10:50:59.439027Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect
2026-05-21T10:50:59.439405Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)
2026-05-21T10:51:01.489152Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart
2026-05-21T10:51:01.489231Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)
2026-05-21T10:51:01.862286Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-21T10:51:01.862368Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)
2026-05-21T10:51:01.862395Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-21T10:52:04.275911Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-21T10:52:54.672381Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=60 elapsed=1.326927083s
2026-05-21T10:52:54.672640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames
2026-05-21T10:52:56.571008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.3MB → 0.4MB (19.5x), 32 JPEGs deleted
2026-05-21T10:52:58.103692Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.7MB → 0.3MB (16.3x), 26 JPEGs deleted
2026-05-21T10:53:51.629096Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1405148025673151884, trigger=click)
2026-05-21T10:53:51.634041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1405148025673151884, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-21T10:54:05.843948Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-21T10:56:07.333308Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
2026-05-21T10:57:58.850200Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames
2026-05-21T10:57:59.650182Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.5MB → 0.4MB (6.8x), 11 JPEGs deleted
2026-05-21T10:58:00.491257Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.4MB → 0.3MB (8.2x), 13 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_ini...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"ggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:50:02.716445Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-21T10:50:26.173007Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect\n2026-05-21T10:50:26.174754Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)\n2026-05-21T10:50:26.286339Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-21T10:50:26.286497Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-21T10:50:26.434065Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-21T10:50:26.434181Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-21T10:50:26.434266Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-21T10:50:59.439027Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect\n2026-05-21T10:50:59.439405Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)\n2026-05-21T10:51:01.489152Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-21T10:51:01.489231Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-21T10:51:01.862286Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-21T10:51:01.862368Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-21T10:51:01.862395Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:52:04.275911Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-21T10:52:54.672381Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=60 elapsed=1.326927083s\n2026-05-21T10:52:54.672640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-05-21T10:52:56.571008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.3MB → 0.4MB (19.5x), 32 JPEGs deleted\n2026-05-21T10:52:58.103692Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.7MB → 0.3MB (16.3x), 26 JPEGs deleted\n2026-05-21T10:53:51.629096Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1405148025673151884, trigger=click)\n2026-05-21T10:53:51.634041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1405148025673151884, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:54:05.843948Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:56:07.333308Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-21T10:57:58.850200Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-21T10:57:59.650182Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.5MB → 0.4MB (6.8x), 11 JPEGs deleted\n2026-05-21T10:58:00.491257Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.4MB → 0.3MB (8.2x), 13 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:58:08.920298Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks","depth":4,"on_screen":true,"value":"ggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:50:02.716445Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-21T10:50:26.173007Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect\n2026-05-21T10:50:26.174754Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)\n2026-05-21T10:50:26.286339Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-21T10:50:26.286497Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-21T10:50:26.434065Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-21T10:50:26.434181Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-21T10:50:26.434266Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-21T10:50:59.439027Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect\n2026-05-21T10:50:59.439405Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)\n2026-05-21T10:51:01.489152Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-21T10:51:01.489231Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-21T10:51:01.862286Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-21T10:51:01.862368Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-21T10:51:01.862395Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:52:04.275911Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n2026-05-21T10:52:54.672381Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=60 elapsed=1.326927083s\n2026-05-21T10:52:54.672640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames\n2026-05-21T10:52:56.571008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.3MB → 0.4MB (19.5x), 32 JPEGs deleted\n2026-05-21T10:52:58.103692Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.7MB → 0.3MB (16.3x), 26 JPEGs deleted\n2026-05-21T10:53:51.629096Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1405148025673151884, trigger=click)\n2026-05-21T10:53:51.634041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1405148025673151884, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:54:05.843948Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:56:07.333308Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-21T10:57:58.850200Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames\n2026-05-21T10:57:59.650182Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.5MB → 0.4MB (6.8x), 11 JPEGs deleted\n2026-05-21T10:58:00.491257Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.4MB → 0.3MB (8.2x), 13 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-21T10:58:08.920298Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.36469415,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.36668882,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.45910904,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.46110374,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.55352396,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.5555186,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.64793885,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6499335,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7287234,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.49634308,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-131681172008814643
|
-816202918017567264
|
app_switch
|
accessibility
|
NULL
|
ggml_metal_free: deallocating
whisper_backend_init ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-21T10:50:02.716445Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-21T10:50:26.173007Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect
2026-05-21T10:50:26.174754Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)
2026-05-21T10:50:26.286339Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart
2026-05-21T10:50:26.286497Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)
2026-05-21T10:50:26.434065Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-21T10:50:26.434181Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)
2026-05-21T10:50:26.434266Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-21T10:50:59.439027Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect
2026-05-21T10:50:59.439405Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)
2026-05-21T10:51:01.489152Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart
2026-05-21T10:51:01.489231Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)
2026-05-21T10:51:01.862286Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-21T10:51:01.862368Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)
2026-05-21T10:51:01.862395Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-21T10:52:04.275911Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
2026-05-21T10:52:54.672381Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=60 elapsed=1.326927083s
2026-05-21T10:52:54.672640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 60 eligible frames
2026-05-21T10:52:56.571008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 32 frames, 7.3MB → 0.4MB (19.5x), 32 JPEGs deleted
2026-05-21T10:52:58.103692Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 26 frames, 4.7MB → 0.3MB (16.3x), 26 JPEGs deleted
2026-05-21T10:53:51.629096Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1405148025673151884, trigger=click)
2026-05-21T10:53:51.634041Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1405148025673151884, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-21T10:54:05.843948Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-21T10:56:07.333308Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 50 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
2026-05-21T10:57:58.850200Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 26 eligible frames
2026-05-21T10:57:59.650182Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.5MB → 0.4MB (6.8x), 11 JPEGs deleted
2026-05-21T10:58:00.491257Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 2.4MB → 0.3MB (8.2x), 13 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_ini...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
71196
|
2558
|
0
|
2026-05-26T06:31:03.734988+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-26/1779 /Users/lukas/.screenpipe/data/data/2026-05-26/1779777063734_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_backend_init_gpu: using Metal backend
ggml whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:44:24.266930Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:44:25.014009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70823 paired=1 still_pending=0
2026-05-22T13:44:33.968081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70825 paired=1 still_pending=0
2026-05-22T13:44:33.979801Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=13 pending_frames=3 total_pairs=1361 total_evicted=1661 total_failed=0
2026-05-22T13:44:36.441738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70828 paired=1 still_pending=0
2026-05-22T13:44:37.847861Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70830 paired=1 still_pending=0
2026-05-22T13:44:40.885653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70832 paired=1 still_pending=0
2026-05-22T13:44:40.900310Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=6 total_pairs=1364 total_evicted=1663 total_failed=0
2026-05-22T13:44:42.701774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70834 paired=1 still_pending=0
2026-05-22T13:44:43.824847Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=8 total_pairs=1365 total_evicted=1664 total_failed=0
2026-05-22T13:44:52.043327Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=9 total_pairs=1365 total_evicted=1665 total_failed=0
2026-05-22T13:44:52.051169Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2116 row_id=72618 frame_id=70834
2026-05-22T13:44:57.722889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70838 paired=1 still_pending=0
2026-05-22T13:45:00.326619Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70841 paired=1 still_pending=0
2026-05-22T13:45:01.438065Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70843 paired=1 still_pending=0
2026-05-22T13:45:02.639871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70844 paired=1 still_pending=0
2026-05-22T13:45:03.540110Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=12 pending_frames=8 total_pairs=1370 total_evicted=1666 total_failed=0
2026-05-22T13:45:12.188389Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2129 row_id=72631 frame_id=70845
2026-05-22T13:45:12.202127Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=18 pending_frames=10 total_pairs=1371 total_evicted=1667 total_failed=0
2026-05-22T13:45:16.057099Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=18 pending_frames=8 total_pairs=1371 total_evicted=1670 total_failed=0
2026-05-22T13:45:16.057314Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70849 paired=1 still_pending=0
2026-05-22T13:45:20.875496Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=10 pending_frames=9 total_pairs=1372 total_evicted=1677 total_failed=0
2026-05-22T13:45:20.882266Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70852 paired=1 still_pending=0
2026-05-22T13:45:28.721297Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70854 paired=1 still_pending=0
2026-05-22T13:45:35.104940Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=10 total_pairs=1374 total_evicted=1678 total_failed=0
2026-05-22T13:45:35.105437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70857 paired=1 still_pending=0
2026-05-22T13:45:42.737020Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=10 pending_frames=7 total_pairs=1375 total_evicted=1682 total_failed=0
2026-05-22T13:45:42.737594Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70860 paired=1 still_pending=0
2026-05-22T13:46:14.157615Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=5 total_pairs=1376 total_evicted=1695 total_failed=0
2026-05-22T13:46:14.159184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70864 paired=1 still_pending=0
2026-05-22T13:46:16.392400Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70868 paired=1 still_pending=0
2026-05-22T13:46:23.917654Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=5 total_pairs=1378 total_evicted=1697 total_failed=0
2026-05-22T13:46:23.917863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70872 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:46:25.661664Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0
2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0
2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0
2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0
2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0
2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)
2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)
2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)
2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:47:01.445136Z WARN sqlx::query: summary="COMMIT" db.statement="" rows_affected=1 rows_returned=0 elapsed=1.208017791s
2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0
2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0
2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0
2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0
2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0
2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)
2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0
2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0
2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0
2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0
2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0
2026-05-22T13:48:03.509264Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=116 elapsed=2.640436125s
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:48:46.815103Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=49 elapsed=4.025636458s
2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames
2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted
2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks
2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0
2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0
2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:53:56.217432Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=73 elapsed=3.960102541s
2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames
2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted
2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)
2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0
2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0
2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)
2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)
2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)
2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)
2026-05-22T13:59:06.631961Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=95 elapsed=5.166274917s
2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted
2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted
2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0
2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)
2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0
2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0
2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1
2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0
2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0
2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0
2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0
2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0
2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0
2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0
2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0
2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0
2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0
2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0
2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0
2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0
2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0
2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0
2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0
2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985
2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1
2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0
2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0
2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0
2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0
2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0
2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0
2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)
2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997
2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0
2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996
2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)
2026-05-22T14:04:23.562487Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=24 elapsed=6.035809s
2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted
2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)
2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0
2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0
2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0
2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0
2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0
2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)
2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)
2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0
2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0
2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)
2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)
2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)
2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)
2026-05-22T14:09:33.786926Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=28 elapsed=6.384550083s
2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted
2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted
2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0
2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)
2026-05-22T14:12:10.464016Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=118 elapsed=1.079239583s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.5...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:44:24.266930Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:44:25.014009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70823 paired=1 still_pending=0\n2026-05-22T13:44:33.968081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70825 paired=1 still_pending=0\n2026-05-22T13:44:33.979801Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=13 pending_frames=3 total_pairs=1361 total_evicted=1661 total_failed=0\n2026-05-22T13:44:36.441738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70828 paired=1 still_pending=0\n2026-05-22T13:44:37.847861Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70830 paired=1 still_pending=0\n2026-05-22T13:44:40.885653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70832 paired=1 still_pending=0\n2026-05-22T13:44:40.900310Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=6 total_pairs=1364 total_evicted=1663 total_failed=0\n2026-05-22T13:44:42.701774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70834 paired=1 still_pending=0\n2026-05-22T13:44:43.824847Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=8 total_pairs=1365 total_evicted=1664 total_failed=0\n2026-05-22T13:44:52.043327Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=9 total_pairs=1365 total_evicted=1665 total_failed=0\n2026-05-22T13:44:52.051169Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2116 row_id=72618 frame_id=70834\n2026-05-22T13:44:57.722889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70838 paired=1 still_pending=0\n2026-05-22T13:45:00.326619Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70841 paired=1 still_pending=0\n2026-05-22T13:45:01.438065Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70843 paired=1 still_pending=0\n2026-05-22T13:45:02.639871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70844 paired=1 still_pending=0\n2026-05-22T13:45:03.540110Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=12 pending_frames=8 total_pairs=1370 total_evicted=1666 total_failed=0\n2026-05-22T13:45:12.188389Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2129 row_id=72631 frame_id=70845\n2026-05-22T13:45:12.202127Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=18 pending_frames=10 total_pairs=1371 total_evicted=1667 total_failed=0\n2026-05-22T13:45:16.057099Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=18 pending_frames=8 total_pairs=1371 total_evicted=1670 total_failed=0\n2026-05-22T13:45:16.057314Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70849 paired=1 still_pending=0\n2026-05-22T13:45:20.875496Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=10 pending_frames=9 total_pairs=1372 total_evicted=1677 total_failed=0\n2026-05-22T13:45:20.882266Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70852 paired=1 still_pending=0\n2026-05-22T13:45:28.721297Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70854 paired=1 still_pending=0\n2026-05-22T13:45:35.104940Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=10 total_pairs=1374 total_evicted=1678 total_failed=0\n2026-05-22T13:45:35.105437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70857 paired=1 still_pending=0\n2026-05-22T13:45:42.737020Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=10 pending_frames=7 total_pairs=1375 total_evicted=1682 total_failed=0\n2026-05-22T13:45:42.737594Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70860 paired=1 still_pending=0\n2026-05-22T13:46:14.157615Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=5 total_pairs=1376 total_evicted=1695 total_failed=0\n2026-05-22T13:46:14.159184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70864 paired=1 still_pending=0\n2026-05-22T13:46:16.392400Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70868 paired=1 still_pending=0\n2026-05-22T13:46:23.917654Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=5 total_pairs=1378 total_evicted=1697 total_failed=0\n2026-05-22T13:46:23.917863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70872 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:46:25.661664Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0\n2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0\n2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0\n2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0\n2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0\n2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0\n2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0\n2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0\n2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0\n2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)\n2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)\n2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)\n2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:47:01.445136Z WARN sqlx::query: summary=\"COMMIT\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.208017791s\n2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0\n2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0\n2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0\n2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0\n2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0\n2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)\n2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0\n2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0\n2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0\n2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0\n2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0\n2026-05-22T13:48:03.509264Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=116 elapsed=2.640436125s\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:48:46.815103Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=49 elapsed=4.025636458s\n2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted\n2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks\n2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0\n2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0\n2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:53:56.217432Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=73 elapsed=3.960102541s\n2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames\n2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted\n2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)\n2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0\n2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0\n2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)\n2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)\n2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)\n2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)\n2026-05-22T13:59:06.631961Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=95 elapsed=5.166274917s\n2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted\n2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted\n2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0\n2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)\n2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0\n2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0\n2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1\n2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0\n2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0\n2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0\n2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0\n2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0\n2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0\n2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0\n2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0\n2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0\n2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0\n2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0\n2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0\n2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0\n2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0\n2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0\n2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0\n2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985\n2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1\n2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0\n2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0\n2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0\n2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0\n2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0\n2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0\n2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)\n2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997\n2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0\n2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996\n2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)\n2026-05-22T14:04:23.562487Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=24 elapsed=6.035809s\n2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames\n2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted\n2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)\n2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0\n2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0\n2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0\n2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0\n2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0\n2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)\n2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)\n2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0\n2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0\n2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)\n2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)\n2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)\n2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)\n2026-05-22T14:09:33.786926Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=28 elapsed=6.384550083s\n2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted\n2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted\n2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0\n2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)\n2026-05-22T14:12:10.464016Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.079239583s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:14:43.042050Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=50 elapsed=3.636397916s\n2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted\n2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)\n2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted\n2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:24:32.462602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:37.549379Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-22T14:24:54.600747Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=23 elapsed=4.43952425s\n2026-05-22T14:24:54.601633Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-05-22T14:24:55.602008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.7MB → 0.5MB (5.3x), 10 JPEGs deleted\n2026-05-22T14:24:56.642375Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.4MB → 0.6MB (3.8x), 11 JPEGs deleted\n2026-05-22T14:25:28.391554Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-22T14:25:30.815683Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-22T14:25:30.873825Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-22T14:25:30.895223Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-22T14:25:31.011427Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1800 total_failed=0\n2026-05-22T14:25:31.041351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-05-22T14:25:31.072147Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-22T14:25:31.555379Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T14:25:32.955739Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-22T14:25:32.956016Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.301819Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302198Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302923Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T14:25:37.227488Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.172807333s\n2026-05-22T14:25:42.506390Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71094 paired=2 still_pending=0\n2026-05-22T14:25:47.526755Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 186.3ms elapsed (expected 5.3ms) → inserting 181.0ms silence (17373 samples)\n2026-05-22T14:25:51.569352Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71095 paired=1 still_pending=0\n2026-05-22T14:25:51.948223Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T14:25:54.996191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71096 paired=1 still_pending=3\n2026-05-22T14:26:04.719786Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71100 paired=2 still_pending=0\n2026-05-22T14:26:16.645139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71103 paired=2 still_pending=0\n2026-05-22T14:26:17.539794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71105 paired=1 still_pending=0\n2026-05-22T14:26:25.612324Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=121 elapsed=2.057079625s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:26:35.062506Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:26:38.338860Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71107 paired=2 still_pending=3\n2026-05-22T14:26:39.709291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=4 still_pending=0\n2026-05-22T14:26:41.199414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=1 still_pending=0\n2026-05-22T14:26:47.998207Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=4 pending_frames=4 total_pairs=1454 total_evicted=1802 total_failed=0\n2026-05-22T14:26:47.998406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71113 paired=1 still_pending=0\n2026-05-22T14:26:50.713519Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 94.9ms elapsed (expected 5.3ms) → inserting 89.6ms silence (8599 samples)\n2026-05-22T14:26:53.035157Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.9ms elapsed (expected 5.3ms) → inserting 81.6ms silence (7831 samples)\n2026-05-22T14:26:55.528246Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=5 pending_frames=2 total_pairs=1455 total_evicted=1805 total_failed=0\n2026-05-22T14:26:59.700021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71117 paired=1 still_pending=0\n2026-05-22T14:27:01.802403Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 150.4ms elapsed (expected 5.3ms) → inserting 145.1ms silence (13929 samples)\n2026-05-22T14:27:02.048529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 146.8ms elapsed (expected 5.3ms) → inserting 141.5ms silence (13580 samples)\n2026-05-22T14:27:02.634656Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.8ms elapsed (expected 5.3ms) → inserting 77.5ms silence (7441 samples)\n2026-05-22T14:27:08.244789Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71119 paired=1 still_pending=0\n2026-05-22T14:27:08.614218Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=15 pending_frames=2 total_pairs=1457 total_evicted=1806 total_failed=0\n2026-05-22T14:27:15.765277Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71122 paired=1 still_pending=0\n2026-05-22T14:27:17.627377Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71123 paired=1 still_pending=0\n2026-05-22T14:27:21.375727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71124 paired=1 still_pending=0\n2026-05-22T14:27:23.586009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71125 paired=1 still_pending=0\n2026-05-22T14:27:25.353137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71126 paired=1 still_pending=0\n2026-05-22T14:27:26.520746Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71127 paired=1 still_pending=0\n2026-05-22T14:27:29.515388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71128 paired=1 still_pending=0\n2026-05-22T14:27:32.139022Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71129 paired=1 still_pending=0\n2026-05-22T14:27:32.351320Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71130 paired=13 still_pending=8\n2026-05-22T14:27:37.736017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71133 paired=1 still_pending=0\n2026-05-22T14:27:39.031942Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=3 total_pairs=1479 total_evicted=1807 total_failed=0\n2026-05-22T14:27:43.869199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=2 total_pairs=1479 total_evicted=1809 total_failed=0\n2026-05-22T14:27:43.869392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71135 paired=1 still_pending=0\n2026-05-22T14:27:46.171511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71139 paired=1 still_pending=0\n2026-05-22T14:27:47.332190Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71141 paired=1 still_pending=0\n2026-05-22T14:27:49.492186Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71143 paired=1 still_pending=0\n2026-05-22T14:27:50.501416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71145 paired=1 still_pending=0\n2026-05-22T14:27:53.223291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71146 paired=1 still_pending=0\n2026-05-22T14:27:54.647434Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=7 total_pairs=1485 total_evicted=1811 total_failed=0\n2026-05-22T14:27:54.647867Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71148 paired=1 still_pending=0\n2026-05-22T14:27:55.800836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71150 paired=1 still_pending=0\n2026-05-22T14:27:59.963088Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=13 pending_frames=9 total_pairs=1487 total_evicted=1813 total_failed=0\n2026-05-22T14:28:02.216252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71152 paired=1 still_pending=0\n2026-05-22T14:28:08.799963Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71154 paired=1 still_pending=0\n2026-05-22T14:28:10.022618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71156 paired=1 still_pending=0\n2026-05-22T14:28:10.656006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71158 paired=1 still_pending=0\n2026-05-22T14:28:11.697532Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71159 paired=1 still_pending=0\n2026-05-22T14:28:13.111942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71160 paired=1 still_pending=0\n2026-05-22T14:28:14.231456Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=15 pending_frames=12 total_pairs=1493 total_evicted=1815 total_failed=0\n2026-05-22T14:28:14.231530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71161 paired=1 still_pending=0\n2026-05-22T14:28:16.814829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71163 paired=1 still_pending=0\n2026-05-22T14:28:17.782934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71165 paired=1 still_pending=0\n2026-05-22T14:28:19.653659Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71166 paired=1 still_pending=0\n2026-05-22T14:28:20.842891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71167 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T14:28:28.459283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71169 paired=1 still_pending=0\n2026-05-22T14:28:29.543836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71171 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:28:35.224354Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:28:40.949646Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=16 pending_frames=14 total_pairs=1500 total_evicted=1819 total_failed=0\n2026-05-22T14:28:40.967460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71173 paired=1 still_pending=0\n2026-05-22T14:28:43.559656Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71174 paired=1 still_pending=0\n2026-05-22T14:28:47.563682Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71177 paired=1 still_pending=0\n2026-05-22T14:28:48.732684Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=15 pending_frames=13 total_pairs=1503 total_evicted=1826 total_failed=0\n2026-05-22T14:28:51.100950Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 120.6ms elapsed (expected 5.3ms) → inserting 115.3ms silence (11065 samples)\n2026-05-22T14:28:53.664779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=15 pending_frames=11 total_pairs=1503 total_evicted=1829 total_failed=0\n2026-05-22T14:28:53.665107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71178 paired=1 still_pending=0\n2026-05-22T14:29:09.557244Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=8 pending_frames=7 total_pairs=1504 total_evicted=1840 total_failed=0\n2026-05-22T14:29:09.557642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71180 paired=1 still_pending=0\n2026-05-22T14:29:09.922481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.049361Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71181 paired=1 still_pending=0\n2026-05-22T14:29:12.052294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=2 still_pending=4\n2026-05-22T14:29:12.256384Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.415587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:13.568626Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=1 still_pending=0\n2026-05-22T14:29:13.617586Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=6 pending_frames=8 total_pairs=1509 total_evicted=1841 total_failed=0\n2026-05-22T14:29:17.830831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71185 paired=1 still_pending=0\n2026-05-22T14:29:18.617477Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=7 pending_frames=7 total_pairs=1510 total_evicted=1846 total_failed=0\n2026-05-22T14:29:18.977788Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 98.9ms elapsed (expected 5.3ms) → inserting 93.5ms silence (8979 samples)\n2026-05-22T14:29:25.235398Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=6 pending_frames=6 total_pairs=1510 total_evicted=1848 total_failed=0\n2026-05-22T14:29:25.235728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71188 paired=1 still_pending=0\n2026-05-22T14:29:28.896643Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1511 total_evicted=1849 total_failed=0\n2026-05-22T14:29:30.950594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1574809818300579953, trigger=visual_change)\n2026-05-22T14:29:31.780076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71192 paired=2 still_pending=0\n2026-05-22T14:29:32.670962Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71193 paired=1 still_pending=0\n2026-05-22T14:29:33.362313Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71194 paired=1 still_pending=0\n2026-05-22T14:29:34.261823Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71195 paired=1 still_pending=0\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alia sp-start \nzsh: command not found: alia\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n6.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.346\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T09:31:02.067706Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T09:31:02.688632Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T09:31:02.690317Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T09:31:02.690655Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T09:31:02.710847Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T09:31:02.710954Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T09:31:03.088283Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T09:31:03.088271Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T09:31:03.088338Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T09:31:03.088441Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T09:31:03.088510Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T09:31:03.092088Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T09:31:03.092320Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T09:31:03.092785Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T09:31:03.092866Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T09:31:03.092942Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T09:31:03.093029Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T09:31:03.093042Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T09:31:03.093822Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T09:31:03.094123Z INFO screenpipe: starting UI event capture\n2026-05-26T09:31:03.097737Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T09:31:03.102328Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T09:31:03.121802Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T09:31:03.122210Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122223Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122380Z INFO screenpipe_engine::ui_recorder: UI recording session started: 70b021ee-633e-452a-beee-018e5e9e0154\n2026-05-26T09:31:03.122499Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T09:31:03.122532Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 06:31:03.122531 UTC to 2026-05-26 06:31:03.122531 UTC)\n2026-05-26T09:31:03.129063Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T09:31:03.129324Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-05-25 06:31:03.122531 UTC\n2026-05-26T09:31:03.130434Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T09:31:03.138137Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T09:31:03.233929Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T09:31:03.233956Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.233979Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.279452Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T09:31:03.279482Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.279494Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T09:31:03.279504Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T09:31:03.279518Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.902920Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)","depth":4,"on_screen":true,"value":"whisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:44:24.266930Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:44:25.014009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70823 paired=1 still_pending=0\n2026-05-22T13:44:33.968081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70825 paired=1 still_pending=0\n2026-05-22T13:44:33.979801Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=13 pending_frames=3 total_pairs=1361 total_evicted=1661 total_failed=0\n2026-05-22T13:44:36.441738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70828 paired=1 still_pending=0\n2026-05-22T13:44:37.847861Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70830 paired=1 still_pending=0\n2026-05-22T13:44:40.885653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70832 paired=1 still_pending=0\n2026-05-22T13:44:40.900310Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=6 total_pairs=1364 total_evicted=1663 total_failed=0\n2026-05-22T13:44:42.701774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70834 paired=1 still_pending=0\n2026-05-22T13:44:43.824847Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=8 total_pairs=1365 total_evicted=1664 total_failed=0\n2026-05-22T13:44:52.043327Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=9 total_pairs=1365 total_evicted=1665 total_failed=0\n2026-05-22T13:44:52.051169Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2116 row_id=72618 frame_id=70834\n2026-05-22T13:44:57.722889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70838 paired=1 still_pending=0\n2026-05-22T13:45:00.326619Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70841 paired=1 still_pending=0\n2026-05-22T13:45:01.438065Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70843 paired=1 still_pending=0\n2026-05-22T13:45:02.639871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70844 paired=1 still_pending=0\n2026-05-22T13:45:03.540110Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=12 pending_frames=8 total_pairs=1370 total_evicted=1666 total_failed=0\n2026-05-22T13:45:12.188389Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2129 row_id=72631 frame_id=70845\n2026-05-22T13:45:12.202127Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=18 pending_frames=10 total_pairs=1371 total_evicted=1667 total_failed=0\n2026-05-22T13:45:16.057099Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=18 pending_frames=8 total_pairs=1371 total_evicted=1670 total_failed=0\n2026-05-22T13:45:16.057314Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70849 paired=1 still_pending=0\n2026-05-22T13:45:20.875496Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=10 pending_frames=9 total_pairs=1372 total_evicted=1677 total_failed=0\n2026-05-22T13:45:20.882266Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70852 paired=1 still_pending=0\n2026-05-22T13:45:28.721297Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70854 paired=1 still_pending=0\n2026-05-22T13:45:35.104940Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=10 total_pairs=1374 total_evicted=1678 total_failed=0\n2026-05-22T13:45:35.105437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70857 paired=1 still_pending=0\n2026-05-22T13:45:42.737020Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=10 pending_frames=7 total_pairs=1375 total_evicted=1682 total_failed=0\n2026-05-22T13:45:42.737594Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70860 paired=1 still_pending=0\n2026-05-22T13:46:14.157615Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=5 total_pairs=1376 total_evicted=1695 total_failed=0\n2026-05-22T13:46:14.159184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70864 paired=1 still_pending=0\n2026-05-22T13:46:16.392400Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70868 paired=1 still_pending=0\n2026-05-22T13:46:23.917654Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=5 total_pairs=1378 total_evicted=1697 total_failed=0\n2026-05-22T13:46:23.917863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70872 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:46:25.661664Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0\n2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0\n2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0\n2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0\n2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0\n2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0\n2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0\n2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0\n2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0\n2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)\n2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)\n2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)\n2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:47:01.445136Z WARN sqlx::query: summary=\"COMMIT\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.208017791s\n2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0\n2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0\n2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0\n2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0\n2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0\n2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)\n2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0\n2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0\n2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0\n2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0\n2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0\n2026-05-22T13:48:03.509264Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=116 elapsed=2.640436125s\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:48:46.815103Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=49 elapsed=4.025636458s\n2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted\n2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks\n2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0\n2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0\n2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:53:56.217432Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=73 elapsed=3.960102541s\n2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames\n2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted\n2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)\n2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0\n2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0\n2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)\n2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)\n2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)\n2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)\n2026-05-22T13:59:06.631961Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=95 elapsed=5.166274917s\n2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted\n2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted\n2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0\n2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)\n2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0\n2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0\n2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1\n2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0\n2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0\n2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0\n2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0\n2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0\n2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0\n2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0\n2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0\n2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0\n2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0\n2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0\n2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0\n2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0\n2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0\n2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0\n2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0\n2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985\n2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1\n2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0\n2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0\n2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0\n2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0\n2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0\n2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0\n2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)\n2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997\n2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0\n2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996\n2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)\n2026-05-22T14:04:23.562487Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=24 elapsed=6.035809s\n2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames\n2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted\n2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)\n2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0\n2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0\n2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0\n2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0\n2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0\n2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)\n2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)\n2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0\n2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0\n2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)\n2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)\n2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)\n2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)\n2026-05-22T14:09:33.786926Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=28 elapsed=6.384550083s\n2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted\n2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted\n2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0\n2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)\n2026-05-22T14:12:10.464016Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.079239583s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:14:43.042050Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=50 elapsed=3.636397916s\n2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted\n2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)\n2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted\n2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:24:32.462602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:37.549379Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-22T14:24:54.600747Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=23 elapsed=4.43952425s\n2026-05-22T14:24:54.601633Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-05-22T14:24:55.602008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.7MB → 0.5MB (5.3x), 10 JPEGs deleted\n2026-05-22T14:24:56.642375Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.4MB → 0.6MB (3.8x), 11 JPEGs deleted\n2026-05-22T14:25:28.391554Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-22T14:25:30.815683Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-22T14:25:30.873825Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-22T14:25:30.895223Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-22T14:25:31.011427Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1800 total_failed=0\n2026-05-22T14:25:31.041351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-05-22T14:25:31.072147Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-22T14:25:31.555379Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T14:25:32.955739Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-22T14:25:32.956016Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.301819Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302198Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302923Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T14:25:37.227488Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.172807333s\n2026-05-22T14:25:42.506390Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71094 paired=2 still_pending=0\n2026-05-22T14:25:47.526755Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 186.3ms elapsed (expected 5.3ms) → inserting 181.0ms silence (17373 samples)\n2026-05-22T14:25:51.569352Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71095 paired=1 still_pending=0\n2026-05-22T14:25:51.948223Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T14:25:54.996191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71096 paired=1 still_pending=3\n2026-05-22T14:26:04.719786Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71100 paired=2 still_pending=0\n2026-05-22T14:26:16.645139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71103 paired=2 still_pending=0\n2026-05-22T14:26:17.539794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71105 paired=1 still_pending=0\n2026-05-22T14:26:25.612324Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=121 elapsed=2.057079625s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:26:35.062506Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:26:38.338860Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71107 paired=2 still_pending=3\n2026-05-22T14:26:39.709291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=4 still_pending=0\n2026-05-22T14:26:41.199414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=1 still_pending=0\n2026-05-22T14:26:47.998207Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=4 pending_frames=4 total_pairs=1454 total_evicted=1802 total_failed=0\n2026-05-22T14:26:47.998406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71113 paired=1 still_pending=0\n2026-05-22T14:26:50.713519Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 94.9ms elapsed (expected 5.3ms) → inserting 89.6ms silence (8599 samples)\n2026-05-22T14:26:53.035157Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.9ms elapsed (expected 5.3ms) → inserting 81.6ms silence (7831 samples)\n2026-05-22T14:26:55.528246Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=5 pending_frames=2 total_pairs=1455 total_evicted=1805 total_failed=0\n2026-05-22T14:26:59.700021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71117 paired=1 still_pending=0\n2026-05-22T14:27:01.802403Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 150.4ms elapsed (expected 5.3ms) → inserting 145.1ms silence (13929 samples)\n2026-05-22T14:27:02.048529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 146.8ms elapsed (expected 5.3ms) → inserting 141.5ms silence (13580 samples)\n2026-05-22T14:27:02.634656Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.8ms elapsed (expected 5.3ms) → inserting 77.5ms silence (7441 samples)\n2026-05-22T14:27:08.244789Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71119 paired=1 still_pending=0\n2026-05-22T14:27:08.614218Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=15 pending_frames=2 total_pairs=1457 total_evicted=1806 total_failed=0\n2026-05-22T14:27:15.765277Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71122 paired=1 still_pending=0\n2026-05-22T14:27:17.627377Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71123 paired=1 still_pending=0\n2026-05-22T14:27:21.375727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71124 paired=1 still_pending=0\n2026-05-22T14:27:23.586009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71125 paired=1 still_pending=0\n2026-05-22T14:27:25.353137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71126 paired=1 still_pending=0\n2026-05-22T14:27:26.520746Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71127 paired=1 still_pending=0\n2026-05-22T14:27:29.515388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71128 paired=1 still_pending=0\n2026-05-22T14:27:32.139022Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71129 paired=1 still_pending=0\n2026-05-22T14:27:32.351320Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71130 paired=13 still_pending=8\n2026-05-22T14:27:37.736017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71133 paired=1 still_pending=0\n2026-05-22T14:27:39.031942Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=3 total_pairs=1479 total_evicted=1807 total_failed=0\n2026-05-22T14:27:43.869199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=2 total_pairs=1479 total_evicted=1809 total_failed=0\n2026-05-22T14:27:43.869392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71135 paired=1 still_pending=0\n2026-05-22T14:27:46.171511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71139 paired=1 still_pending=0\n2026-05-22T14:27:47.332190Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71141 paired=1 still_pending=0\n2026-05-22T14:27:49.492186Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71143 paired=1 still_pending=0\n2026-05-22T14:27:50.501416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71145 paired=1 still_pending=0\n2026-05-22T14:27:53.223291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71146 paired=1 still_pending=0\n2026-05-22T14:27:54.647434Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=7 total_pairs=1485 total_evicted=1811 total_failed=0\n2026-05-22T14:27:54.647867Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71148 paired=1 still_pending=0\n2026-05-22T14:27:55.800836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71150 paired=1 still_pending=0\n2026-05-22T14:27:59.963088Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=13 pending_frames=9 total_pairs=1487 total_evicted=1813 total_failed=0\n2026-05-22T14:28:02.216252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71152 paired=1 still_pending=0\n2026-05-22T14:28:08.799963Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71154 paired=1 still_pending=0\n2026-05-22T14:28:10.022618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71156 paired=1 still_pending=0\n2026-05-22T14:28:10.656006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71158 paired=1 still_pending=0\n2026-05-22T14:28:11.697532Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71159 paired=1 still_pending=0\n2026-05-22T14:28:13.111942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71160 paired=1 still_pending=0\n2026-05-22T14:28:14.231456Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=15 pending_frames=12 total_pairs=1493 total_evicted=1815 total_failed=0\n2026-05-22T14:28:14.231530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71161 paired=1 still_pending=0\n2026-05-22T14:28:16.814829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71163 paired=1 still_pending=0\n2026-05-22T14:28:17.782934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71165 paired=1 still_pending=0\n2026-05-22T14:28:19.653659Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71166 paired=1 still_pending=0\n2026-05-22T14:28:20.842891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71167 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T14:28:28.459283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71169 paired=1 still_pending=0\n2026-05-22T14:28:29.543836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71171 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:28:35.224354Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:28:40.949646Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=16 pending_frames=14 total_pairs=1500 total_evicted=1819 total_failed=0\n2026-05-22T14:28:40.967460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71173 paired=1 still_pending=0\n2026-05-22T14:28:43.559656Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71174 paired=1 still_pending=0\n2026-05-22T14:28:47.563682Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71177 paired=1 still_pending=0\n2026-05-22T14:28:48.732684Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=15 pending_frames=13 total_pairs=1503 total_evicted=1826 total_failed=0\n2026-05-22T14:28:51.100950Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 120.6ms elapsed (expected 5.3ms) → inserting 115.3ms silence (11065 samples)\n2026-05-22T14:28:53.664779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=15 pending_frames=11 total_pairs=1503 total_evicted=1829 total_failed=0\n2026-05-22T14:28:53.665107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71178 paired=1 still_pending=0\n2026-05-22T14:29:09.557244Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=8 pending_frames=7 total_pairs=1504 total_evicted=1840 total_failed=0\n2026-05-22T14:29:09.557642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71180 paired=1 still_pending=0\n2026-05-22T14:29:09.922481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.049361Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71181 paired=1 still_pending=0\n2026-05-22T14:29:12.052294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=2 still_pending=4\n2026-05-22T14:29:12.256384Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.415587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:13.568626Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=1 still_pending=0\n2026-05-22T14:29:13.617586Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=6 pending_frames=8 total_pairs=1509 total_evicted=1841 total_failed=0\n2026-05-22T14:29:17.830831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71185 paired=1 still_pending=0\n2026-05-22T14:29:18.617477Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=7 pending_frames=7 total_pairs=1510 total_evicted=1846 total_failed=0\n2026-05-22T14:29:18.977788Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 98.9ms elapsed (expected 5.3ms) → inserting 93.5ms silence (8979 samples)\n2026-05-22T14:29:25.235398Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=6 pending_frames=6 total_pairs=1510 total_evicted=1848 total_failed=0\n2026-05-22T14:29:25.235728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71188 paired=1 still_pending=0\n2026-05-22T14:29:28.896643Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1511 total_evicted=1849 total_failed=0\n2026-05-22T14:29:30.950594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1574809818300579953, trigger=visual_change)\n2026-05-22T14:29:31.780076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71192 paired=2 still_pending=0\n2026-05-22T14:29:32.670962Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71193 paired=1 still_pending=0\n2026-05-22T14:29:33.362313Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71194 paired=1 still_pending=0\n2026-05-22T14:29:34.261823Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71195 paired=1 still_pending=0\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alia sp-start \nzsh: command not found: alia\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n6.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.346\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T09:31:02.067706Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T09:31:02.688632Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T09:31:02.690317Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T09:31:02.690655Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T09:31:02.710847Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T09:31:02.710954Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T09:31:03.088283Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T09:31:03.088271Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T09:31:03.088338Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T09:31:03.088441Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T09:31:03.088510Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T09:31:03.092088Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T09:31:03.092320Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T09:31:03.092785Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T09:31:03.092866Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T09:31:03.092942Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T09:31:03.093029Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T09:31:03.093042Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T09:31:03.093822Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T09:31:03.094123Z INFO screenpipe: starting UI event capture\n2026-05-26T09:31:03.097737Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T09:31:03.102328Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T09:31:03.121802Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T09:31:03.122210Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122223Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122380Z INFO screenpipe_engine::ui_recorder: UI recording session started: 70b021ee-633e-452a-beee-018e5e9e0154\n2026-05-26T09:31:03.122499Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T09:31:03.122532Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 06:31:03.122531 UTC to 2026-05-26 06:31:03.122531 UTC)\n2026-05-26T09:31:03.129063Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T09:31:03.129324Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-05-25 06:31:03.122531 UTC\n2026-05-26T09:31:03.130434Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T09:31:03.138137Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T09:31:03.233929Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T09:31:03.233956Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.233979Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.279452Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T09:31:03.279482Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.279494Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T09:31:03.279504Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T09:31:03.279518Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.902920Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0013888889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.19444445,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.19861111,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.39166668,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.39583334,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5888889,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.59305555,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7861111,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.7902778,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.46944445,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-4283581020823057897
|
-6580230440077003319
|
manual
|
accessibility
|
NULL
|
whisper_backend_init_gpu: using Metal backend
ggml whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:44:24.266930Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:44:25.014009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70823 paired=1 still_pending=0
2026-05-22T13:44:33.968081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70825 paired=1 still_pending=0
2026-05-22T13:44:33.979801Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=13 pending_frames=3 total_pairs=1361 total_evicted=1661 total_failed=0
2026-05-22T13:44:36.441738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70828 paired=1 still_pending=0
2026-05-22T13:44:37.847861Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70830 paired=1 still_pending=0
2026-05-22T13:44:40.885653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70832 paired=1 still_pending=0
2026-05-22T13:44:40.900310Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=6 total_pairs=1364 total_evicted=1663 total_failed=0
2026-05-22T13:44:42.701774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70834 paired=1 still_pending=0
2026-05-22T13:44:43.824847Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=8 total_pairs=1365 total_evicted=1664 total_failed=0
2026-05-22T13:44:52.043327Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=9 total_pairs=1365 total_evicted=1665 total_failed=0
2026-05-22T13:44:52.051169Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2116 row_id=72618 frame_id=70834
2026-05-22T13:44:57.722889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70838 paired=1 still_pending=0
2026-05-22T13:45:00.326619Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70841 paired=1 still_pending=0
2026-05-22T13:45:01.438065Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70843 paired=1 still_pending=0
2026-05-22T13:45:02.639871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70844 paired=1 still_pending=0
2026-05-22T13:45:03.540110Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=12 pending_frames=8 total_pairs=1370 total_evicted=1666 total_failed=0
2026-05-22T13:45:12.188389Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2129 row_id=72631 frame_id=70845
2026-05-22T13:45:12.202127Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=18 pending_frames=10 total_pairs=1371 total_evicted=1667 total_failed=0
2026-05-22T13:45:16.057099Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=18 pending_frames=8 total_pairs=1371 total_evicted=1670 total_failed=0
2026-05-22T13:45:16.057314Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70849 paired=1 still_pending=0
2026-05-22T13:45:20.875496Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=10 pending_frames=9 total_pairs=1372 total_evicted=1677 total_failed=0
2026-05-22T13:45:20.882266Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70852 paired=1 still_pending=0
2026-05-22T13:45:28.721297Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70854 paired=1 still_pending=0
2026-05-22T13:45:35.104940Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=10 total_pairs=1374 total_evicted=1678 total_failed=0
2026-05-22T13:45:35.105437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70857 paired=1 still_pending=0
2026-05-22T13:45:42.737020Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=10 pending_frames=7 total_pairs=1375 total_evicted=1682 total_failed=0
2026-05-22T13:45:42.737594Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70860 paired=1 still_pending=0
2026-05-22T13:46:14.157615Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=5 total_pairs=1376 total_evicted=1695 total_failed=0
2026-05-22T13:46:14.159184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70864 paired=1 still_pending=0
2026-05-22T13:46:16.392400Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70868 paired=1 still_pending=0
2026-05-22T13:46:23.917654Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=5 total_pairs=1378 total_evicted=1697 total_failed=0
2026-05-22T13:46:23.917863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70872 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:46:25.661664Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0
2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0
2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0
2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0
2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0
2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)
2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)
2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)
2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:47:01.445136Z WARN sqlx::query: summary="COMMIT" db.statement="" rows_affected=1 rows_returned=0 elapsed=1.208017791s
2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0
2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0
2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0
2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0
2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0
2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)
2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0
2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0
2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0
2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0
2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0
2026-05-22T13:48:03.509264Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=116 elapsed=2.640436125s
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:48:46.815103Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=49 elapsed=4.025636458s
2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames
2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted
2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks
2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0
2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0
2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:53:56.217432Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=73 elapsed=3.960102541s
2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames
2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted
2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)
2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0
2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0
2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)
2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)
2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)
2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)
2026-05-22T13:59:06.631961Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=95 elapsed=5.166274917s
2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted
2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted
2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0
2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)
2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0
2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0
2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1
2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0
2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0
2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0
2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0
2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0
2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0
2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0
2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0
2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0
2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0
2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0
2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0
2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0
2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0
2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0
2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0
2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985
2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1
2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0
2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0
2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0
2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0
2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0
2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0
2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)
2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997
2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0
2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996
2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)
2026-05-22T14:04:23.562487Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=24 elapsed=6.035809s
2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted
2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)
2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0
2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0
2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0
2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0
2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0
2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)
2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)
2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0
2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0
2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)
2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)
2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)
2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)
2026-05-22T14:09:33.786926Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=28 elapsed=6.384550083s
2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted
2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted
2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0
2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)
2026-05-22T14:12:10.464016Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=118 elapsed=1.079239583s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.5...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
71197
|
2559
|
0
|
2026-05-26T06:31:03.780152+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-26/1779 /Users/lukas/.screenpipe/data/data/2026-05-26/1779777063780_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
ggml_metal_init: allocating
ggml_metal_init: found ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:44:24.266930Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:44:25.014009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70823 paired=1 still_pending=0
2026-05-22T13:44:33.968081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70825 paired=1 still_pending=0
2026-05-22T13:44:33.979801Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=13 pending_frames=3 total_pairs=1361 total_evicted=1661 total_failed=0
2026-05-22T13:44:36.441738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70828 paired=1 still_pending=0
2026-05-22T13:44:37.847861Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70830 paired=1 still_pending=0
2026-05-22T13:44:40.885653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70832 paired=1 still_pending=0
2026-05-22T13:44:40.900310Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=6 total_pairs=1364 total_evicted=1663 total_failed=0
2026-05-22T13:44:42.701774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70834 paired=1 still_pending=0
2026-05-22T13:44:43.824847Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=8 total_pairs=1365 total_evicted=1664 total_failed=0
2026-05-22T13:44:52.043327Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=9 total_pairs=1365 total_evicted=1665 total_failed=0
2026-05-22T13:44:52.051169Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2116 row_id=72618 frame_id=70834
2026-05-22T13:44:57.722889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70838 paired=1 still_pending=0
2026-05-22T13:45:00.326619Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70841 paired=1 still_pending=0
2026-05-22T13:45:01.438065Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70843 paired=1 still_pending=0
2026-05-22T13:45:02.639871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70844 paired=1 still_pending=0
2026-05-22T13:45:03.540110Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=12 pending_frames=8 total_pairs=1370 total_evicted=1666 total_failed=0
2026-05-22T13:45:12.188389Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2129 row_id=72631 frame_id=70845
2026-05-22T13:45:12.202127Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=18 pending_frames=10 total_pairs=1371 total_evicted=1667 total_failed=0
2026-05-22T13:45:16.057099Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=18 pending_frames=8 total_pairs=1371 total_evicted=1670 total_failed=0
2026-05-22T13:45:16.057314Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70849 paired=1 still_pending=0
2026-05-22T13:45:20.875496Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=10 pending_frames=9 total_pairs=1372 total_evicted=1677 total_failed=0
2026-05-22T13:45:20.882266Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70852 paired=1 still_pending=0
2026-05-22T13:45:28.721297Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70854 paired=1 still_pending=0
2026-05-22T13:45:35.104940Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=10 total_pairs=1374 total_evicted=1678 total_failed=0
2026-05-22T13:45:35.105437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70857 paired=1 still_pending=0
2026-05-22T13:45:42.737020Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=10 pending_frames=7 total_pairs=1375 total_evicted=1682 total_failed=0
2026-05-22T13:45:42.737594Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70860 paired=1 still_pending=0
2026-05-22T13:46:14.157615Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=5 total_pairs=1376 total_evicted=1695 total_failed=0
2026-05-22T13:46:14.159184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70864 paired=1 still_pending=0
2026-05-22T13:46:16.392400Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70868 paired=1 still_pending=0
2026-05-22T13:46:23.917654Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=5 total_pairs=1378 total_evicted=1697 total_failed=0
2026-05-22T13:46:23.917863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70872 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:46:25.661664Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0
2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0
2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0
2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0
2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0
2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)
2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)
2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)
2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:47:01.445136Z WARN sqlx::query: summary="COMMIT" db.statement="" rows_affected=1 rows_returned=0 elapsed=1.208017791s
2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0
2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0
2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0
2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0
2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0
2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)
2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0
2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0
2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0
2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0
2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0
2026-05-22T13:48:03.509264Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=116 elapsed=2.640436125s
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:48:46.815103Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=49 elapsed=4.025636458s
2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames
2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted
2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks
2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0
2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0
2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:53:56.217432Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=73 elapsed=3.960102541s
2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames
2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted
2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)
2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0
2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0
2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)
2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)
2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)
2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)
2026-05-22T13:59:06.631961Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=95 elapsed=5.166274917s
2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted
2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted
2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0
2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)
2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0
2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0
2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1
2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0
2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0
2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0
2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0
2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0
2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0
2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0
2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0
2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0
2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0
2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0
2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0
2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0
2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0
2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0
2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0
2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985
2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1
2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0
2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0
2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0
2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0
2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0
2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0
2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)
2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997
2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0
2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996
2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)
2026-05-22T14:04:23.562487Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=24 elapsed=6.035809s
2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted
2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)
2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0
2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0
2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0
2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0
2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0
2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)
2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)
2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0
2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0
2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)
2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)
2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)
2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)
2026-05-22T14:09:33.786926Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=28 elapsed=6.384550083s
2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted
2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted
2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0
2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)
2026-05-22T14:12:10.464016Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=118 elapsed=1.079239583s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decod...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"ggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:44:24.266930Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:44:25.014009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70823 paired=1 still_pending=0\n2026-05-22T13:44:33.968081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70825 paired=1 still_pending=0\n2026-05-22T13:44:33.979801Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=13 pending_frames=3 total_pairs=1361 total_evicted=1661 total_failed=0\n2026-05-22T13:44:36.441738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70828 paired=1 still_pending=0\n2026-05-22T13:44:37.847861Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70830 paired=1 still_pending=0\n2026-05-22T13:44:40.885653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70832 paired=1 still_pending=0\n2026-05-22T13:44:40.900310Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=6 total_pairs=1364 total_evicted=1663 total_failed=0\n2026-05-22T13:44:42.701774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70834 paired=1 still_pending=0\n2026-05-22T13:44:43.824847Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=8 total_pairs=1365 total_evicted=1664 total_failed=0\n2026-05-22T13:44:52.043327Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=9 total_pairs=1365 total_evicted=1665 total_failed=0\n2026-05-22T13:44:52.051169Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2116 row_id=72618 frame_id=70834\n2026-05-22T13:44:57.722889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70838 paired=1 still_pending=0\n2026-05-22T13:45:00.326619Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70841 paired=1 still_pending=0\n2026-05-22T13:45:01.438065Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70843 paired=1 still_pending=0\n2026-05-22T13:45:02.639871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70844 paired=1 still_pending=0\n2026-05-22T13:45:03.540110Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=12 pending_frames=8 total_pairs=1370 total_evicted=1666 total_failed=0\n2026-05-22T13:45:12.188389Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2129 row_id=72631 frame_id=70845\n2026-05-22T13:45:12.202127Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=18 pending_frames=10 total_pairs=1371 total_evicted=1667 total_failed=0\n2026-05-22T13:45:16.057099Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=18 pending_frames=8 total_pairs=1371 total_evicted=1670 total_failed=0\n2026-05-22T13:45:16.057314Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70849 paired=1 still_pending=0\n2026-05-22T13:45:20.875496Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=10 pending_frames=9 total_pairs=1372 total_evicted=1677 total_failed=0\n2026-05-22T13:45:20.882266Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70852 paired=1 still_pending=0\n2026-05-22T13:45:28.721297Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70854 paired=1 still_pending=0\n2026-05-22T13:45:35.104940Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=10 total_pairs=1374 total_evicted=1678 total_failed=0\n2026-05-22T13:45:35.105437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70857 paired=1 still_pending=0\n2026-05-22T13:45:42.737020Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=10 pending_frames=7 total_pairs=1375 total_evicted=1682 total_failed=0\n2026-05-22T13:45:42.737594Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70860 paired=1 still_pending=0\n2026-05-22T13:46:14.157615Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=5 total_pairs=1376 total_evicted=1695 total_failed=0\n2026-05-22T13:46:14.159184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70864 paired=1 still_pending=0\n2026-05-22T13:46:16.392400Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70868 paired=1 still_pending=0\n2026-05-22T13:46:23.917654Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=5 total_pairs=1378 total_evicted=1697 total_failed=0\n2026-05-22T13:46:23.917863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70872 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:46:25.661664Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0\n2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0\n2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0\n2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0\n2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0\n2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0\n2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0\n2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0\n2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0\n2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)\n2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)\n2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)\n2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:47:01.445136Z WARN sqlx::query: summary=\"COMMIT\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.208017791s\n2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0\n2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0\n2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0\n2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0\n2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0\n2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)\n2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0\n2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0\n2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0\n2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0\n2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0\n2026-05-22T13:48:03.509264Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=116 elapsed=2.640436125s\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:48:46.815103Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=49 elapsed=4.025636458s\n2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted\n2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks\n2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0\n2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0\n2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:53:56.217432Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=73 elapsed=3.960102541s\n2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames\n2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted\n2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)\n2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0\n2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0\n2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)\n2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)\n2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)\n2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)\n2026-05-22T13:59:06.631961Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=95 elapsed=5.166274917s\n2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted\n2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted\n2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0\n2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)\n2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0\n2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0\n2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1\n2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0\n2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0\n2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0\n2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0\n2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0\n2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0\n2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0\n2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0\n2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0\n2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0\n2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0\n2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0\n2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0\n2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0\n2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0\n2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0\n2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985\n2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1\n2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0\n2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0\n2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0\n2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0\n2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0\n2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0\n2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)\n2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997\n2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0\n2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996\n2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)\n2026-05-22T14:04:23.562487Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=24 elapsed=6.035809s\n2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames\n2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted\n2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)\n2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0\n2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0\n2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0\n2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0\n2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0\n2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)\n2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)\n2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0\n2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0\n2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)\n2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)\n2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)\n2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)\n2026-05-22T14:09:33.786926Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=28 elapsed=6.384550083s\n2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted\n2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted\n2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0\n2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)\n2026-05-22T14:12:10.464016Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.079239583s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:14:43.042050Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=50 elapsed=3.636397916s\n2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted\n2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)\n2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted\n2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:24:32.462602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:37.549379Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-22T14:24:54.600747Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=23 elapsed=4.43952425s\n2026-05-22T14:24:54.601633Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-05-22T14:24:55.602008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.7MB → 0.5MB (5.3x), 10 JPEGs deleted\n2026-05-22T14:24:56.642375Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.4MB → 0.6MB (3.8x), 11 JPEGs deleted\n2026-05-22T14:25:28.391554Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-22T14:25:30.815683Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-22T14:25:30.873825Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-22T14:25:30.895223Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-22T14:25:31.011427Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1800 total_failed=0\n2026-05-22T14:25:31.041351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-05-22T14:25:31.072147Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-22T14:25:31.555379Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T14:25:32.955739Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-22T14:25:32.956016Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.301819Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302198Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302923Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T14:25:37.227488Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.172807333s\n2026-05-22T14:25:42.506390Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71094 paired=2 still_pending=0\n2026-05-22T14:25:47.526755Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 186.3ms elapsed (expected 5.3ms) → inserting 181.0ms silence (17373 samples)\n2026-05-22T14:25:51.569352Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71095 paired=1 still_pending=0\n2026-05-22T14:25:51.948223Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T14:25:54.996191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71096 paired=1 still_pending=3\n2026-05-22T14:26:04.719786Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71100 paired=2 still_pending=0\n2026-05-22T14:26:16.645139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71103 paired=2 still_pending=0\n2026-05-22T14:26:17.539794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71105 paired=1 still_pending=0\n2026-05-22T14:26:25.612324Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=121 elapsed=2.057079625s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:26:35.062506Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:26:38.338860Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71107 paired=2 still_pending=3\n2026-05-22T14:26:39.709291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=4 still_pending=0\n2026-05-22T14:26:41.199414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=1 still_pending=0\n2026-05-22T14:26:47.998207Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=4 pending_frames=4 total_pairs=1454 total_evicted=1802 total_failed=0\n2026-05-22T14:26:47.998406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71113 paired=1 still_pending=0\n2026-05-22T14:26:50.713519Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 94.9ms elapsed (expected 5.3ms) → inserting 89.6ms silence (8599 samples)\n2026-05-22T14:26:53.035157Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.9ms elapsed (expected 5.3ms) → inserting 81.6ms silence (7831 samples)\n2026-05-22T14:26:55.528246Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=5 pending_frames=2 total_pairs=1455 total_evicted=1805 total_failed=0\n2026-05-22T14:26:59.700021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71117 paired=1 still_pending=0\n2026-05-22T14:27:01.802403Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 150.4ms elapsed (expected 5.3ms) → inserting 145.1ms silence (13929 samples)\n2026-05-22T14:27:02.048529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 146.8ms elapsed (expected 5.3ms) → inserting 141.5ms silence (13580 samples)\n2026-05-22T14:27:02.634656Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.8ms elapsed (expected 5.3ms) → inserting 77.5ms silence (7441 samples)\n2026-05-22T14:27:08.244789Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71119 paired=1 still_pending=0\n2026-05-22T14:27:08.614218Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=15 pending_frames=2 total_pairs=1457 total_evicted=1806 total_failed=0\n2026-05-22T14:27:15.765277Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71122 paired=1 still_pending=0\n2026-05-22T14:27:17.627377Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71123 paired=1 still_pending=0\n2026-05-22T14:27:21.375727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71124 paired=1 still_pending=0\n2026-05-22T14:27:23.586009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71125 paired=1 still_pending=0\n2026-05-22T14:27:25.353137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71126 paired=1 still_pending=0\n2026-05-22T14:27:26.520746Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71127 paired=1 still_pending=0\n2026-05-22T14:27:29.515388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71128 paired=1 still_pending=0\n2026-05-22T14:27:32.139022Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71129 paired=1 still_pending=0\n2026-05-22T14:27:32.351320Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71130 paired=13 still_pending=8\n2026-05-22T14:27:37.736017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71133 paired=1 still_pending=0\n2026-05-22T14:27:39.031942Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=3 total_pairs=1479 total_evicted=1807 total_failed=0\n2026-05-22T14:27:43.869199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=2 total_pairs=1479 total_evicted=1809 total_failed=0\n2026-05-22T14:27:43.869392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71135 paired=1 still_pending=0\n2026-05-22T14:27:46.171511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71139 paired=1 still_pending=0\n2026-05-22T14:27:47.332190Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71141 paired=1 still_pending=0\n2026-05-22T14:27:49.492186Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71143 paired=1 still_pending=0\n2026-05-22T14:27:50.501416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71145 paired=1 still_pending=0\n2026-05-22T14:27:53.223291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71146 paired=1 still_pending=0\n2026-05-22T14:27:54.647434Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=7 total_pairs=1485 total_evicted=1811 total_failed=0\n2026-05-22T14:27:54.647867Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71148 paired=1 still_pending=0\n2026-05-22T14:27:55.800836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71150 paired=1 still_pending=0\n2026-05-22T14:27:59.963088Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=13 pending_frames=9 total_pairs=1487 total_evicted=1813 total_failed=0\n2026-05-22T14:28:02.216252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71152 paired=1 still_pending=0\n2026-05-22T14:28:08.799963Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71154 paired=1 still_pending=0\n2026-05-22T14:28:10.022618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71156 paired=1 still_pending=0\n2026-05-22T14:28:10.656006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71158 paired=1 still_pending=0\n2026-05-22T14:28:11.697532Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71159 paired=1 still_pending=0\n2026-05-22T14:28:13.111942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71160 paired=1 still_pending=0\n2026-05-22T14:28:14.231456Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=15 pending_frames=12 total_pairs=1493 total_evicted=1815 total_failed=0\n2026-05-22T14:28:14.231530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71161 paired=1 still_pending=0\n2026-05-22T14:28:16.814829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71163 paired=1 still_pending=0\n2026-05-22T14:28:17.782934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71165 paired=1 still_pending=0\n2026-05-22T14:28:19.653659Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71166 paired=1 still_pending=0\n2026-05-22T14:28:20.842891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71167 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T14:28:28.459283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71169 paired=1 still_pending=0\n2026-05-22T14:28:29.543836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71171 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:28:35.224354Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:28:40.949646Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=16 pending_frames=14 total_pairs=1500 total_evicted=1819 total_failed=0\n2026-05-22T14:28:40.967460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71173 paired=1 still_pending=0\n2026-05-22T14:28:43.559656Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71174 paired=1 still_pending=0\n2026-05-22T14:28:47.563682Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71177 paired=1 still_pending=0\n2026-05-22T14:28:48.732684Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=15 pending_frames=13 total_pairs=1503 total_evicted=1826 total_failed=0\n2026-05-22T14:28:51.100950Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 120.6ms elapsed (expected 5.3ms) → inserting 115.3ms silence (11065 samples)\n2026-05-22T14:28:53.664779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=15 pending_frames=11 total_pairs=1503 total_evicted=1829 total_failed=0\n2026-05-22T14:28:53.665107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71178 paired=1 still_pending=0\n2026-05-22T14:29:09.557244Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=8 pending_frames=7 total_pairs=1504 total_evicted=1840 total_failed=0\n2026-05-22T14:29:09.557642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71180 paired=1 still_pending=0\n2026-05-22T14:29:09.922481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.049361Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71181 paired=1 still_pending=0\n2026-05-22T14:29:12.052294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=2 still_pending=4\n2026-05-22T14:29:12.256384Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.415587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:13.568626Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=1 still_pending=0\n2026-05-22T14:29:13.617586Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=6 pending_frames=8 total_pairs=1509 total_evicted=1841 total_failed=0\n2026-05-22T14:29:17.830831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71185 paired=1 still_pending=0\n2026-05-22T14:29:18.617477Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=7 pending_frames=7 total_pairs=1510 total_evicted=1846 total_failed=0\n2026-05-22T14:29:18.977788Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 98.9ms elapsed (expected 5.3ms) → inserting 93.5ms silence (8979 samples)\n2026-05-22T14:29:25.235398Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=6 pending_frames=6 total_pairs=1510 total_evicted=1848 total_failed=0\n2026-05-22T14:29:25.235728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71188 paired=1 still_pending=0\n2026-05-22T14:29:28.896643Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1511 total_evicted=1849 total_failed=0\n2026-05-22T14:29:30.950594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1574809818300579953, trigger=visual_change)\n2026-05-22T14:29:31.780076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71192 paired=2 still_pending=0\n2026-05-22T14:29:32.670962Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71193 paired=1 still_pending=0\n2026-05-22T14:29:33.362313Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71194 paired=1 still_pending=0\n2026-05-22T14:29:34.261823Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71195 paired=1 still_pending=0\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alia sp-start \nzsh: command not found: alia\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n6.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.346\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T09:31:02.067706Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T09:31:02.688632Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T09:31:02.690317Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T09:31:02.690655Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T09:31:02.710847Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T09:31:02.710954Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T09:31:03.088283Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T09:31:03.088271Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T09:31:03.088338Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T09:31:03.088441Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T09:31:03.088510Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T09:31:03.092088Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T09:31:03.092320Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T09:31:03.092785Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T09:31:03.092866Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T09:31:03.092942Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T09:31:03.093029Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T09:31:03.093042Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T09:31:03.093822Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T09:31:03.094123Z INFO screenpipe: starting UI event capture\n2026-05-26T09:31:03.097737Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T09:31:03.102328Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T09:31:03.121802Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T09:31:03.122210Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122223Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122380Z INFO screenpipe_engine::ui_recorder: UI recording session started: 70b021ee-633e-452a-beee-018e5e9e0154\n2026-05-26T09:31:03.122499Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T09:31:03.122532Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 06:31:03.122531 UTC to 2026-05-26 06:31:03.122531 UTC)\n2026-05-26T09:31:03.129063Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T09:31:03.129324Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-05-25 06:31:03.122531 UTC\n2026-05-26T09:31:03.130434Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T09:31:03.138137Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T09:31:03.233929Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T09:31:03.233956Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.233979Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.279452Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T09:31:03.279482Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.279494Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T09:31:03.279504Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T09:31:03.279518Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.902920Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-26T09:31:04.015905Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)","depth":4,"on_screen":true,"value":"ggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:44:24.266930Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:44:25.014009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70823 paired=1 still_pending=0\n2026-05-22T13:44:33.968081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70825 paired=1 still_pending=0\n2026-05-22T13:44:33.979801Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=13 pending_frames=3 total_pairs=1361 total_evicted=1661 total_failed=0\n2026-05-22T13:44:36.441738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70828 paired=1 still_pending=0\n2026-05-22T13:44:37.847861Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70830 paired=1 still_pending=0\n2026-05-22T13:44:40.885653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70832 paired=1 still_pending=0\n2026-05-22T13:44:40.900310Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=6 total_pairs=1364 total_evicted=1663 total_failed=0\n2026-05-22T13:44:42.701774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70834 paired=1 still_pending=0\n2026-05-22T13:44:43.824847Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=8 total_pairs=1365 total_evicted=1664 total_failed=0\n2026-05-22T13:44:52.043327Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=9 total_pairs=1365 total_evicted=1665 total_failed=0\n2026-05-22T13:44:52.051169Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2116 row_id=72618 frame_id=70834\n2026-05-22T13:44:57.722889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70838 paired=1 still_pending=0\n2026-05-22T13:45:00.326619Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70841 paired=1 still_pending=0\n2026-05-22T13:45:01.438065Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70843 paired=1 still_pending=0\n2026-05-22T13:45:02.639871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70844 paired=1 still_pending=0\n2026-05-22T13:45:03.540110Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=12 pending_frames=8 total_pairs=1370 total_evicted=1666 total_failed=0\n2026-05-22T13:45:12.188389Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2129 row_id=72631 frame_id=70845\n2026-05-22T13:45:12.202127Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=18 pending_frames=10 total_pairs=1371 total_evicted=1667 total_failed=0\n2026-05-22T13:45:16.057099Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=18 pending_frames=8 total_pairs=1371 total_evicted=1670 total_failed=0\n2026-05-22T13:45:16.057314Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70849 paired=1 still_pending=0\n2026-05-22T13:45:20.875496Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=10 pending_frames=9 total_pairs=1372 total_evicted=1677 total_failed=0\n2026-05-22T13:45:20.882266Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70852 paired=1 still_pending=0\n2026-05-22T13:45:28.721297Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70854 paired=1 still_pending=0\n2026-05-22T13:45:35.104940Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=10 total_pairs=1374 total_evicted=1678 total_failed=0\n2026-05-22T13:45:35.105437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70857 paired=1 still_pending=0\n2026-05-22T13:45:42.737020Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=10 pending_frames=7 total_pairs=1375 total_evicted=1682 total_failed=0\n2026-05-22T13:45:42.737594Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70860 paired=1 still_pending=0\n2026-05-22T13:46:14.157615Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=5 total_pairs=1376 total_evicted=1695 total_failed=0\n2026-05-22T13:46:14.159184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70864 paired=1 still_pending=0\n2026-05-22T13:46:16.392400Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70868 paired=1 still_pending=0\n2026-05-22T13:46:23.917654Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=5 total_pairs=1378 total_evicted=1697 total_failed=0\n2026-05-22T13:46:23.917863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70872 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:46:25.661664Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0\n2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0\n2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0\n2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0\n2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0\n2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0\n2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0\n2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0\n2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0\n2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)\n2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)\n2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)\n2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:47:01.445136Z WARN sqlx::query: summary=\"COMMIT\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.208017791s\n2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0\n2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0\n2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0\n2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0\n2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0\n2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)\n2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0\n2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0\n2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0\n2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0\n2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0\n2026-05-22T13:48:03.509264Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=116 elapsed=2.640436125s\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:48:46.815103Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=49 elapsed=4.025636458s\n2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted\n2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks\n2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0\n2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0\n2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:53:56.217432Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=73 elapsed=3.960102541s\n2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames\n2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted\n2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)\n2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0\n2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0\n2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)\n2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)\n2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)\n2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)\n2026-05-22T13:59:06.631961Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=95 elapsed=5.166274917s\n2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted\n2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted\n2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0\n2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)\n2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0\n2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0\n2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1\n2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0\n2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0\n2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0\n2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0\n2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0\n2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0\n2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0\n2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0\n2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0\n2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0\n2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0\n2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0\n2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0\n2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0\n2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0\n2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0\n2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985\n2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1\n2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0\n2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0\n2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0\n2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0\n2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0\n2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0\n2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)\n2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997\n2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0\n2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996\n2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)\n2026-05-22T14:04:23.562487Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=24 elapsed=6.035809s\n2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames\n2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted\n2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)\n2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0\n2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0\n2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0\n2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0\n2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0\n2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)\n2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)\n2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0\n2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0\n2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)\n2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)\n2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)\n2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)\n2026-05-22T14:09:33.786926Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=28 elapsed=6.384550083s\n2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted\n2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted\n2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0\n2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)\n2026-05-22T14:12:10.464016Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.079239583s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:14:43.042050Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=50 elapsed=3.636397916s\n2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted\n2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)\n2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted\n2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:24:32.462602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:37.549379Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-22T14:24:54.600747Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=23 elapsed=4.43952425s\n2026-05-22T14:24:54.601633Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-05-22T14:24:55.602008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.7MB → 0.5MB (5.3x), 10 JPEGs deleted\n2026-05-22T14:24:56.642375Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.4MB → 0.6MB (3.8x), 11 JPEGs deleted\n2026-05-22T14:25:28.391554Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-22T14:25:30.815683Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-22T14:25:30.873825Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-22T14:25:30.895223Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-22T14:25:31.011427Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1800 total_failed=0\n2026-05-22T14:25:31.041351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-05-22T14:25:31.072147Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-22T14:25:31.555379Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T14:25:32.955739Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-22T14:25:32.956016Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.301819Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302198Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302923Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T14:25:37.227488Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.172807333s\n2026-05-22T14:25:42.506390Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71094 paired=2 still_pending=0\n2026-05-22T14:25:47.526755Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 186.3ms elapsed (expected 5.3ms) → inserting 181.0ms silence (17373 samples)\n2026-05-22T14:25:51.569352Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71095 paired=1 still_pending=0\n2026-05-22T14:25:51.948223Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T14:25:54.996191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71096 paired=1 still_pending=3\n2026-05-22T14:26:04.719786Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71100 paired=2 still_pending=0\n2026-05-22T14:26:16.645139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71103 paired=2 still_pending=0\n2026-05-22T14:26:17.539794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71105 paired=1 still_pending=0\n2026-05-22T14:26:25.612324Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=121 elapsed=2.057079625s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:26:35.062506Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:26:38.338860Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71107 paired=2 still_pending=3\n2026-05-22T14:26:39.709291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=4 still_pending=0\n2026-05-22T14:26:41.199414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=1 still_pending=0\n2026-05-22T14:26:47.998207Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=4 pending_frames=4 total_pairs=1454 total_evicted=1802 total_failed=0\n2026-05-22T14:26:47.998406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71113 paired=1 still_pending=0\n2026-05-22T14:26:50.713519Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 94.9ms elapsed (expected 5.3ms) → inserting 89.6ms silence (8599 samples)\n2026-05-22T14:26:53.035157Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.9ms elapsed (expected 5.3ms) → inserting 81.6ms silence (7831 samples)\n2026-05-22T14:26:55.528246Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=5 pending_frames=2 total_pairs=1455 total_evicted=1805 total_failed=0\n2026-05-22T14:26:59.700021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71117 paired=1 still_pending=0\n2026-05-22T14:27:01.802403Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 150.4ms elapsed (expected 5.3ms) → inserting 145.1ms silence (13929 samples)\n2026-05-22T14:27:02.048529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 146.8ms elapsed (expected 5.3ms) → inserting 141.5ms silence (13580 samples)\n2026-05-22T14:27:02.634656Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.8ms elapsed (expected 5.3ms) → inserting 77.5ms silence (7441 samples)\n2026-05-22T14:27:08.244789Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71119 paired=1 still_pending=0\n2026-05-22T14:27:08.614218Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=15 pending_frames=2 total_pairs=1457 total_evicted=1806 total_failed=0\n2026-05-22T14:27:15.765277Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71122 paired=1 still_pending=0\n2026-05-22T14:27:17.627377Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71123 paired=1 still_pending=0\n2026-05-22T14:27:21.375727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71124 paired=1 still_pending=0\n2026-05-22T14:27:23.586009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71125 paired=1 still_pending=0\n2026-05-22T14:27:25.353137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71126 paired=1 still_pending=0\n2026-05-22T14:27:26.520746Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71127 paired=1 still_pending=0\n2026-05-22T14:27:29.515388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71128 paired=1 still_pending=0\n2026-05-22T14:27:32.139022Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71129 paired=1 still_pending=0\n2026-05-22T14:27:32.351320Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71130 paired=13 still_pending=8\n2026-05-22T14:27:37.736017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71133 paired=1 still_pending=0\n2026-05-22T14:27:39.031942Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=3 total_pairs=1479 total_evicted=1807 total_failed=0\n2026-05-22T14:27:43.869199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=2 total_pairs=1479 total_evicted=1809 total_failed=0\n2026-05-22T14:27:43.869392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71135 paired=1 still_pending=0\n2026-05-22T14:27:46.171511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71139 paired=1 still_pending=0\n2026-05-22T14:27:47.332190Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71141 paired=1 still_pending=0\n2026-05-22T14:27:49.492186Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71143 paired=1 still_pending=0\n2026-05-22T14:27:50.501416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71145 paired=1 still_pending=0\n2026-05-22T14:27:53.223291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71146 paired=1 still_pending=0\n2026-05-22T14:27:54.647434Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=7 total_pairs=1485 total_evicted=1811 total_failed=0\n2026-05-22T14:27:54.647867Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71148 paired=1 still_pending=0\n2026-05-22T14:27:55.800836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71150 paired=1 still_pending=0\n2026-05-22T14:27:59.963088Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=13 pending_frames=9 total_pairs=1487 total_evicted=1813 total_failed=0\n2026-05-22T14:28:02.216252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71152 paired=1 still_pending=0\n2026-05-22T14:28:08.799963Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71154 paired=1 still_pending=0\n2026-05-22T14:28:10.022618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71156 paired=1 still_pending=0\n2026-05-22T14:28:10.656006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71158 paired=1 still_pending=0\n2026-05-22T14:28:11.697532Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71159 paired=1 still_pending=0\n2026-05-22T14:28:13.111942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71160 paired=1 still_pending=0\n2026-05-22T14:28:14.231456Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=15 pending_frames=12 total_pairs=1493 total_evicted=1815 total_failed=0\n2026-05-22T14:28:14.231530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71161 paired=1 still_pending=0\n2026-05-22T14:28:16.814829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71163 paired=1 still_pending=0\n2026-05-22T14:28:17.782934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71165 paired=1 still_pending=0\n2026-05-22T14:28:19.653659Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71166 paired=1 still_pending=0\n2026-05-22T14:28:20.842891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71167 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T14:28:28.459283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71169 paired=1 still_pending=0\n2026-05-22T14:28:29.543836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71171 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:28:35.224354Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:28:40.949646Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=16 pending_frames=14 total_pairs=1500 total_evicted=1819 total_failed=0\n2026-05-22T14:28:40.967460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71173 paired=1 still_pending=0\n2026-05-22T14:28:43.559656Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71174 paired=1 still_pending=0\n2026-05-22T14:28:47.563682Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71177 paired=1 still_pending=0\n2026-05-22T14:28:48.732684Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=15 pending_frames=13 total_pairs=1503 total_evicted=1826 total_failed=0\n2026-05-22T14:28:51.100950Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 120.6ms elapsed (expected 5.3ms) → inserting 115.3ms silence (11065 samples)\n2026-05-22T14:28:53.664779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=15 pending_frames=11 total_pairs=1503 total_evicted=1829 total_failed=0\n2026-05-22T14:28:53.665107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71178 paired=1 still_pending=0\n2026-05-22T14:29:09.557244Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=8 pending_frames=7 total_pairs=1504 total_evicted=1840 total_failed=0\n2026-05-22T14:29:09.557642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71180 paired=1 still_pending=0\n2026-05-22T14:29:09.922481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.049361Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71181 paired=1 still_pending=0\n2026-05-22T14:29:12.052294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=2 still_pending=4\n2026-05-22T14:29:12.256384Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.415587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:13.568626Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=1 still_pending=0\n2026-05-22T14:29:13.617586Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=6 pending_frames=8 total_pairs=1509 total_evicted=1841 total_failed=0\n2026-05-22T14:29:17.830831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71185 paired=1 still_pending=0\n2026-05-22T14:29:18.617477Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=7 pending_frames=7 total_pairs=1510 total_evicted=1846 total_failed=0\n2026-05-22T14:29:18.977788Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 98.9ms elapsed (expected 5.3ms) → inserting 93.5ms silence (8979 samples)\n2026-05-22T14:29:25.235398Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=6 pending_frames=6 total_pairs=1510 total_evicted=1848 total_failed=0\n2026-05-22T14:29:25.235728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71188 paired=1 still_pending=0\n2026-05-22T14:29:28.896643Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1511 total_evicted=1849 total_failed=0\n2026-05-22T14:29:30.950594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1574809818300579953, trigger=visual_change)\n2026-05-22T14:29:31.780076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71192 paired=2 still_pending=0\n2026-05-22T14:29:32.670962Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71193 paired=1 still_pending=0\n2026-05-22T14:29:33.362313Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71194 paired=1 still_pending=0\n2026-05-22T14:29:34.261823Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71195 paired=1 still_pending=0\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alia sp-start \nzsh: command not found: alia\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n6.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.346\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T09:31:02.067706Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T09:31:02.688632Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T09:31:02.690317Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T09:31:02.690655Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T09:31:02.710847Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T09:31:02.710954Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T09:31:03.088283Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T09:31:03.088271Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T09:31:03.088338Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T09:31:03.088441Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T09:31:03.088510Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T09:31:03.092088Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T09:31:03.092320Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T09:31:03.092785Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T09:31:03.092866Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T09:31:03.092942Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T09:31:03.093029Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T09:31:03.093042Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T09:31:03.093822Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T09:31:03.094123Z INFO screenpipe: starting UI event capture\n2026-05-26T09:31:03.097737Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T09:31:03.102328Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T09:31:03.121802Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T09:31:03.122210Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122223Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122380Z INFO screenpipe_engine::ui_recorder: UI recording session started: 70b021ee-633e-452a-beee-018e5e9e0154\n2026-05-26T09:31:03.122499Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T09:31:03.122532Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 06:31:03.122531 UTC to 2026-05-26 06:31:03.122531 UTC)\n2026-05-26T09:31:03.129063Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T09:31:03.129324Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-05-25 06:31:03.122531 UTC\n2026-05-26T09:31:03.130434Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T09:31:03.138137Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T09:31:03.233929Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T09:31:03.233956Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.233979Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.279452Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T09:31:03.279482Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.279494Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T09:31:03.279504Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T09:31:03.279518Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.902920Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-26T09:31:04.015905Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.26894948,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27094415,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.36336437,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.36535904,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.45777926,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.45977393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5521942,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.55418885,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.64660907,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.64860374,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4950133,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
5922148157640115224
|
-6580230440077003319
|
manual
|
accessibility
|
NULL
|
ggml_metal_init: allocating
ggml_metal_init: found ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:44:24.266930Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:44:25.014009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70823 paired=1 still_pending=0
2026-05-22T13:44:33.968081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70825 paired=1 still_pending=0
2026-05-22T13:44:33.979801Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=13 pending_frames=3 total_pairs=1361 total_evicted=1661 total_failed=0
2026-05-22T13:44:36.441738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70828 paired=1 still_pending=0
2026-05-22T13:44:37.847861Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70830 paired=1 still_pending=0
2026-05-22T13:44:40.885653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70832 paired=1 still_pending=0
2026-05-22T13:44:40.900310Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=6 total_pairs=1364 total_evicted=1663 total_failed=0
2026-05-22T13:44:42.701774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70834 paired=1 still_pending=0
2026-05-22T13:44:43.824847Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=8 total_pairs=1365 total_evicted=1664 total_failed=0
2026-05-22T13:44:52.043327Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=9 total_pairs=1365 total_evicted=1665 total_failed=0
2026-05-22T13:44:52.051169Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2116 row_id=72618 frame_id=70834
2026-05-22T13:44:57.722889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70838 paired=1 still_pending=0
2026-05-22T13:45:00.326619Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70841 paired=1 still_pending=0
2026-05-22T13:45:01.438065Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70843 paired=1 still_pending=0
2026-05-22T13:45:02.639871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70844 paired=1 still_pending=0
2026-05-22T13:45:03.540110Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=12 pending_frames=8 total_pairs=1370 total_evicted=1666 total_failed=0
2026-05-22T13:45:12.188389Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2129 row_id=72631 frame_id=70845
2026-05-22T13:45:12.202127Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=18 pending_frames=10 total_pairs=1371 total_evicted=1667 total_failed=0
2026-05-22T13:45:16.057099Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=18 pending_frames=8 total_pairs=1371 total_evicted=1670 total_failed=0
2026-05-22T13:45:16.057314Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70849 paired=1 still_pending=0
2026-05-22T13:45:20.875496Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=10 pending_frames=9 total_pairs=1372 total_evicted=1677 total_failed=0
2026-05-22T13:45:20.882266Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70852 paired=1 still_pending=0
2026-05-22T13:45:28.721297Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70854 paired=1 still_pending=0
2026-05-22T13:45:35.104940Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=10 total_pairs=1374 total_evicted=1678 total_failed=0
2026-05-22T13:45:35.105437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70857 paired=1 still_pending=0
2026-05-22T13:45:42.737020Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=10 pending_frames=7 total_pairs=1375 total_evicted=1682 total_failed=0
2026-05-22T13:45:42.737594Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70860 paired=1 still_pending=0
2026-05-22T13:46:14.157615Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=5 total_pairs=1376 total_evicted=1695 total_failed=0
2026-05-22T13:46:14.159184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70864 paired=1 still_pending=0
2026-05-22T13:46:16.392400Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70868 paired=1 still_pending=0
2026-05-22T13:46:23.917654Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=5 total_pairs=1378 total_evicted=1697 total_failed=0
2026-05-22T13:46:23.917863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70872 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:46:25.661664Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0
2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0
2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0
2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0
2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0
2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)
2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)
2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)
2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:47:01.445136Z WARN sqlx::query: summary="COMMIT" db.statement="" rows_affected=1 rows_returned=0 elapsed=1.208017791s
2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0
2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0
2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0
2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0
2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0
2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)
2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0
2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0
2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0
2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0
2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0
2026-05-22T13:48:03.509264Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=116 elapsed=2.640436125s
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:48:46.815103Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=49 elapsed=4.025636458s
2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames
2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted
2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks
2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0
2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0
2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:53:56.217432Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=73 elapsed=3.960102541s
2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames
2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted
2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)
2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0
2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0
2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)
2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)
2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)
2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)
2026-05-22T13:59:06.631961Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=95 elapsed=5.166274917s
2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted
2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted
2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0
2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)
2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0
2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0
2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1
2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0
2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0
2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0
2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0
2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0
2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0
2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0
2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0
2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0
2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0
2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0
2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0
2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0
2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0
2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0
2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0
2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985
2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1
2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0
2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0
2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0
2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0
2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0
2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0
2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)
2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997
2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0
2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996
2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)
2026-05-22T14:04:23.562487Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=24 elapsed=6.035809s
2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted
2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)
2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0
2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0
2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0
2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0
2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0
2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)
2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)
2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0
2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0
2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)
2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)
2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)
2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)
2026-05-22T14:09:33.786926Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=28 elapsed=6.384550083s
2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted
2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted
2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0
2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)
2026-05-22T14:12:10.464016Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=118 elapsed=1.079239583s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decod...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
71198
|
2558
|
1
|
2026-05-26T06:31:06.365080+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-26/1779 /Users/lukas/.screenpipe/data/data/2026-05-26/1779777066365_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
ggml_metal_init: use fusion = true
ggml_me ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:44:24.266930Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:44:25.014009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70823 paired=1 still_pending=0
2026-05-22T13:44:33.968081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70825 paired=1 still_pending=0
2026-05-22T13:44:33.979801Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=13 pending_frames=3 total_pairs=1361 total_evicted=1661 total_failed=0
2026-05-22T13:44:36.441738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70828 paired=1 still_pending=0
2026-05-22T13:44:37.847861Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70830 paired=1 still_pending=0
2026-05-22T13:44:40.885653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70832 paired=1 still_pending=0
2026-05-22T13:44:40.900310Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=6 total_pairs=1364 total_evicted=1663 total_failed=0
2026-05-22T13:44:42.701774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70834 paired=1 still_pending=0
2026-05-22T13:44:43.824847Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=8 total_pairs=1365 total_evicted=1664 total_failed=0
2026-05-22T13:44:52.043327Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=9 total_pairs=1365 total_evicted=1665 total_failed=0
2026-05-22T13:44:52.051169Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2116 row_id=72618 frame_id=70834
2026-05-22T13:44:57.722889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70838 paired=1 still_pending=0
2026-05-22T13:45:00.326619Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70841 paired=1 still_pending=0
2026-05-22T13:45:01.438065Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70843 paired=1 still_pending=0
2026-05-22T13:45:02.639871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70844 paired=1 still_pending=0
2026-05-22T13:45:03.540110Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=12 pending_frames=8 total_pairs=1370 total_evicted=1666 total_failed=0
2026-05-22T13:45:12.188389Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2129 row_id=72631 frame_id=70845
2026-05-22T13:45:12.202127Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=18 pending_frames=10 total_pairs=1371 total_evicted=1667 total_failed=0
2026-05-22T13:45:16.057099Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=18 pending_frames=8 total_pairs=1371 total_evicted=1670 total_failed=0
2026-05-22T13:45:16.057314Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70849 paired=1 still_pending=0
2026-05-22T13:45:20.875496Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=10 pending_frames=9 total_pairs=1372 total_evicted=1677 total_failed=0
2026-05-22T13:45:20.882266Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70852 paired=1 still_pending=0
2026-05-22T13:45:28.721297Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70854 paired=1 still_pending=0
2026-05-22T13:45:35.104940Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=10 total_pairs=1374 total_evicted=1678 total_failed=0
2026-05-22T13:45:35.105437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70857 paired=1 still_pending=0
2026-05-22T13:45:42.737020Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=10 pending_frames=7 total_pairs=1375 total_evicted=1682 total_failed=0
2026-05-22T13:45:42.737594Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70860 paired=1 still_pending=0
2026-05-22T13:46:14.157615Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=5 total_pairs=1376 total_evicted=1695 total_failed=0
2026-05-22T13:46:14.159184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70864 paired=1 still_pending=0
2026-05-22T13:46:16.392400Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70868 paired=1 still_pending=0
2026-05-22T13:46:23.917654Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=5 total_pairs=1378 total_evicted=1697 total_failed=0
2026-05-22T13:46:23.917863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70872 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:46:25.661664Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0
2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0
2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0
2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0
2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0
2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)
2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)
2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)
2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:47:01.445136Z WARN sqlx::query: summary="COMMIT" db.statement="" rows_affected=1 rows_returned=0 elapsed=1.208017791s
2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0
2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0
2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0
2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0
2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0
2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)
2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0
2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0
2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0
2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0
2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0
2026-05-22T13:48:03.509264Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=116 elapsed=2.640436125s
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:48:46.815103Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=49 elapsed=4.025636458s
2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames
2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted
2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks
2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0
2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0
2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:53:56.217432Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=73 elapsed=3.960102541s
2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames
2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted
2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)
2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0
2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0
2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)
2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)
2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)
2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)
2026-05-22T13:59:06.631961Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=95 elapsed=5.166274917s
2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted
2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted
2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0
2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)
2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0
2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0
2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1
2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0
2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0
2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0
2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0
2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0
2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0
2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0
2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0
2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0
2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0
2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0
2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0
2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0
2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0
2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0
2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0
2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985
2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1
2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0
2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0
2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0
2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0
2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0
2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0
2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)
2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997
2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0
2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996
2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)
2026-05-22T14:04:23.562487Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=24 elapsed=6.035809s
2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted
2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)
2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0
2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0
2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0
2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0
2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0
2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)
2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)
2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0
2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0
2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)
2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)
2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)
2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)
2026-05-22T14:09:33.786926Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=28 elapsed=6.384550083s
2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted
2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted
2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0
2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)
2026-05-22T14:12:10.464016Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=118 elapsed=1.079239583s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manag...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"ggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:44:24.266930Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:44:25.014009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70823 paired=1 still_pending=0\n2026-05-22T13:44:33.968081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70825 paired=1 still_pending=0\n2026-05-22T13:44:33.979801Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=13 pending_frames=3 total_pairs=1361 total_evicted=1661 total_failed=0\n2026-05-22T13:44:36.441738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70828 paired=1 still_pending=0\n2026-05-22T13:44:37.847861Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70830 paired=1 still_pending=0\n2026-05-22T13:44:40.885653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70832 paired=1 still_pending=0\n2026-05-22T13:44:40.900310Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=6 total_pairs=1364 total_evicted=1663 total_failed=0\n2026-05-22T13:44:42.701774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70834 paired=1 still_pending=0\n2026-05-22T13:44:43.824847Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=8 total_pairs=1365 total_evicted=1664 total_failed=0\n2026-05-22T13:44:52.043327Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=9 total_pairs=1365 total_evicted=1665 total_failed=0\n2026-05-22T13:44:52.051169Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2116 row_id=72618 frame_id=70834\n2026-05-22T13:44:57.722889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70838 paired=1 still_pending=0\n2026-05-22T13:45:00.326619Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70841 paired=1 still_pending=0\n2026-05-22T13:45:01.438065Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70843 paired=1 still_pending=0\n2026-05-22T13:45:02.639871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70844 paired=1 still_pending=0\n2026-05-22T13:45:03.540110Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=12 pending_frames=8 total_pairs=1370 total_evicted=1666 total_failed=0\n2026-05-22T13:45:12.188389Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2129 row_id=72631 frame_id=70845\n2026-05-22T13:45:12.202127Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=18 pending_frames=10 total_pairs=1371 total_evicted=1667 total_failed=0\n2026-05-22T13:45:16.057099Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=18 pending_frames=8 total_pairs=1371 total_evicted=1670 total_failed=0\n2026-05-22T13:45:16.057314Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70849 paired=1 still_pending=0\n2026-05-22T13:45:20.875496Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=10 pending_frames=9 total_pairs=1372 total_evicted=1677 total_failed=0\n2026-05-22T13:45:20.882266Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70852 paired=1 still_pending=0\n2026-05-22T13:45:28.721297Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70854 paired=1 still_pending=0\n2026-05-22T13:45:35.104940Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=10 total_pairs=1374 total_evicted=1678 total_failed=0\n2026-05-22T13:45:35.105437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70857 paired=1 still_pending=0\n2026-05-22T13:45:42.737020Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=10 pending_frames=7 total_pairs=1375 total_evicted=1682 total_failed=0\n2026-05-22T13:45:42.737594Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70860 paired=1 still_pending=0\n2026-05-22T13:46:14.157615Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=5 total_pairs=1376 total_evicted=1695 total_failed=0\n2026-05-22T13:46:14.159184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70864 paired=1 still_pending=0\n2026-05-22T13:46:16.392400Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70868 paired=1 still_pending=0\n2026-05-22T13:46:23.917654Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=5 total_pairs=1378 total_evicted=1697 total_failed=0\n2026-05-22T13:46:23.917863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70872 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:46:25.661664Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0\n2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0\n2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0\n2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0\n2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0\n2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0\n2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0\n2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0\n2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0\n2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)\n2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)\n2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)\n2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:47:01.445136Z WARN sqlx::query: summary=\"COMMIT\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.208017791s\n2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0\n2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0\n2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0\n2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0\n2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0\n2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)\n2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0\n2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0\n2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0\n2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0\n2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0\n2026-05-22T13:48:03.509264Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=116 elapsed=2.640436125s\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:48:46.815103Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=49 elapsed=4.025636458s\n2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted\n2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks\n2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0\n2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0\n2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:53:56.217432Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=73 elapsed=3.960102541s\n2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames\n2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted\n2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)\n2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0\n2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0\n2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)\n2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)\n2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)\n2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)\n2026-05-22T13:59:06.631961Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=95 elapsed=5.166274917s\n2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted\n2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted\n2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0\n2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)\n2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0\n2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0\n2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1\n2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0\n2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0\n2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0\n2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0\n2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0\n2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0\n2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0\n2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0\n2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0\n2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0\n2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0\n2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0\n2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0\n2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0\n2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0\n2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0\n2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985\n2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1\n2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0\n2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0\n2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0\n2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0\n2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0\n2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0\n2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)\n2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997\n2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0\n2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996\n2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)\n2026-05-22T14:04:23.562487Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=24 elapsed=6.035809s\n2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames\n2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted\n2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)\n2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0\n2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0\n2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0\n2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0\n2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0\n2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)\n2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)\n2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0\n2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0\n2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)\n2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)\n2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)\n2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)\n2026-05-22T14:09:33.786926Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=28 elapsed=6.384550083s\n2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted\n2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted\n2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0\n2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)\n2026-05-22T14:12:10.464016Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.079239583s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:14:43.042050Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=50 elapsed=3.636397916s\n2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted\n2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)\n2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted\n2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:24:32.462602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:37.549379Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-22T14:24:54.600747Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=23 elapsed=4.43952425s\n2026-05-22T14:24:54.601633Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-05-22T14:24:55.602008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.7MB → 0.5MB (5.3x), 10 JPEGs deleted\n2026-05-22T14:24:56.642375Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.4MB → 0.6MB (3.8x), 11 JPEGs deleted\n2026-05-22T14:25:28.391554Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-22T14:25:30.815683Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-22T14:25:30.873825Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-22T14:25:30.895223Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-22T14:25:31.011427Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1800 total_failed=0\n2026-05-22T14:25:31.041351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-05-22T14:25:31.072147Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-22T14:25:31.555379Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T14:25:32.955739Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-22T14:25:32.956016Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.301819Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302198Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302923Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T14:25:37.227488Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.172807333s\n2026-05-22T14:25:42.506390Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71094 paired=2 still_pending=0\n2026-05-22T14:25:47.526755Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 186.3ms elapsed (expected 5.3ms) → inserting 181.0ms silence (17373 samples)\n2026-05-22T14:25:51.569352Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71095 paired=1 still_pending=0\n2026-05-22T14:25:51.948223Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T14:25:54.996191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71096 paired=1 still_pending=3\n2026-05-22T14:26:04.719786Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71100 paired=2 still_pending=0\n2026-05-22T14:26:16.645139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71103 paired=2 still_pending=0\n2026-05-22T14:26:17.539794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71105 paired=1 still_pending=0\n2026-05-22T14:26:25.612324Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=121 elapsed=2.057079625s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:26:35.062506Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:26:38.338860Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71107 paired=2 still_pending=3\n2026-05-22T14:26:39.709291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=4 still_pending=0\n2026-05-22T14:26:41.199414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=1 still_pending=0\n2026-05-22T14:26:47.998207Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=4 pending_frames=4 total_pairs=1454 total_evicted=1802 total_failed=0\n2026-05-22T14:26:47.998406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71113 paired=1 still_pending=0\n2026-05-22T14:26:50.713519Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 94.9ms elapsed (expected 5.3ms) → inserting 89.6ms silence (8599 samples)\n2026-05-22T14:26:53.035157Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.9ms elapsed (expected 5.3ms) → inserting 81.6ms silence (7831 samples)\n2026-05-22T14:26:55.528246Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=5 pending_frames=2 total_pairs=1455 total_evicted=1805 total_failed=0\n2026-05-22T14:26:59.700021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71117 paired=1 still_pending=0\n2026-05-22T14:27:01.802403Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 150.4ms elapsed (expected 5.3ms) → inserting 145.1ms silence (13929 samples)\n2026-05-22T14:27:02.048529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 146.8ms elapsed (expected 5.3ms) → inserting 141.5ms silence (13580 samples)\n2026-05-22T14:27:02.634656Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.8ms elapsed (expected 5.3ms) → inserting 77.5ms silence (7441 samples)\n2026-05-22T14:27:08.244789Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71119 paired=1 still_pending=0\n2026-05-22T14:27:08.614218Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=15 pending_frames=2 total_pairs=1457 total_evicted=1806 total_failed=0\n2026-05-22T14:27:15.765277Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71122 paired=1 still_pending=0\n2026-05-22T14:27:17.627377Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71123 paired=1 still_pending=0\n2026-05-22T14:27:21.375727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71124 paired=1 still_pending=0\n2026-05-22T14:27:23.586009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71125 paired=1 still_pending=0\n2026-05-22T14:27:25.353137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71126 paired=1 still_pending=0\n2026-05-22T14:27:26.520746Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71127 paired=1 still_pending=0\n2026-05-22T14:27:29.515388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71128 paired=1 still_pending=0\n2026-05-22T14:27:32.139022Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71129 paired=1 still_pending=0\n2026-05-22T14:27:32.351320Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71130 paired=13 still_pending=8\n2026-05-22T14:27:37.736017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71133 paired=1 still_pending=0\n2026-05-22T14:27:39.031942Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=3 total_pairs=1479 total_evicted=1807 total_failed=0\n2026-05-22T14:27:43.869199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=2 total_pairs=1479 total_evicted=1809 total_failed=0\n2026-05-22T14:27:43.869392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71135 paired=1 still_pending=0\n2026-05-22T14:27:46.171511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71139 paired=1 still_pending=0\n2026-05-22T14:27:47.332190Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71141 paired=1 still_pending=0\n2026-05-22T14:27:49.492186Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71143 paired=1 still_pending=0\n2026-05-22T14:27:50.501416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71145 paired=1 still_pending=0\n2026-05-22T14:27:53.223291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71146 paired=1 still_pending=0\n2026-05-22T14:27:54.647434Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=7 total_pairs=1485 total_evicted=1811 total_failed=0\n2026-05-22T14:27:54.647867Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71148 paired=1 still_pending=0\n2026-05-22T14:27:55.800836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71150 paired=1 still_pending=0\n2026-05-22T14:27:59.963088Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=13 pending_frames=9 total_pairs=1487 total_evicted=1813 total_failed=0\n2026-05-22T14:28:02.216252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71152 paired=1 still_pending=0\n2026-05-22T14:28:08.799963Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71154 paired=1 still_pending=0\n2026-05-22T14:28:10.022618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71156 paired=1 still_pending=0\n2026-05-22T14:28:10.656006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71158 paired=1 still_pending=0\n2026-05-22T14:28:11.697532Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71159 paired=1 still_pending=0\n2026-05-22T14:28:13.111942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71160 paired=1 still_pending=0\n2026-05-22T14:28:14.231456Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=15 pending_frames=12 total_pairs=1493 total_evicted=1815 total_failed=0\n2026-05-22T14:28:14.231530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71161 paired=1 still_pending=0\n2026-05-22T14:28:16.814829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71163 paired=1 still_pending=0\n2026-05-22T14:28:17.782934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71165 paired=1 still_pending=0\n2026-05-22T14:28:19.653659Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71166 paired=1 still_pending=0\n2026-05-22T14:28:20.842891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71167 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T14:28:28.459283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71169 paired=1 still_pending=0\n2026-05-22T14:28:29.543836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71171 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:28:35.224354Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:28:40.949646Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=16 pending_frames=14 total_pairs=1500 total_evicted=1819 total_failed=0\n2026-05-22T14:28:40.967460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71173 paired=1 still_pending=0\n2026-05-22T14:28:43.559656Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71174 paired=1 still_pending=0\n2026-05-22T14:28:47.563682Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71177 paired=1 still_pending=0\n2026-05-22T14:28:48.732684Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=15 pending_frames=13 total_pairs=1503 total_evicted=1826 total_failed=0\n2026-05-22T14:28:51.100950Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 120.6ms elapsed (expected 5.3ms) → inserting 115.3ms silence (11065 samples)\n2026-05-22T14:28:53.664779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=15 pending_frames=11 total_pairs=1503 total_evicted=1829 total_failed=0\n2026-05-22T14:28:53.665107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71178 paired=1 still_pending=0\n2026-05-22T14:29:09.557244Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=8 pending_frames=7 total_pairs=1504 total_evicted=1840 total_failed=0\n2026-05-22T14:29:09.557642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71180 paired=1 still_pending=0\n2026-05-22T14:29:09.922481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.049361Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71181 paired=1 still_pending=0\n2026-05-22T14:29:12.052294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=2 still_pending=4\n2026-05-22T14:29:12.256384Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.415587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:13.568626Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=1 still_pending=0\n2026-05-22T14:29:13.617586Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=6 pending_frames=8 total_pairs=1509 total_evicted=1841 total_failed=0\n2026-05-22T14:29:17.830831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71185 paired=1 still_pending=0\n2026-05-22T14:29:18.617477Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=7 pending_frames=7 total_pairs=1510 total_evicted=1846 total_failed=0\n2026-05-22T14:29:18.977788Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 98.9ms elapsed (expected 5.3ms) → inserting 93.5ms silence (8979 samples)\n2026-05-22T14:29:25.235398Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=6 pending_frames=6 total_pairs=1510 total_evicted=1848 total_failed=0\n2026-05-22T14:29:25.235728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71188 paired=1 still_pending=0\n2026-05-22T14:29:28.896643Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1511 total_evicted=1849 total_failed=0\n2026-05-22T14:29:30.950594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1574809818300579953, trigger=visual_change)\n2026-05-22T14:29:31.780076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71192 paired=2 still_pending=0\n2026-05-22T14:29:32.670962Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71193 paired=1 still_pending=0\n2026-05-22T14:29:33.362313Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71194 paired=1 still_pending=0\n2026-05-22T14:29:34.261823Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71195 paired=1 still_pending=0\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alia sp-start \nzsh: command not found: alia\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n6.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.346\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T09:31:02.067706Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T09:31:02.688632Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T09:31:02.690317Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T09:31:02.690655Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T09:31:02.710847Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T09:31:02.710954Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T09:31:03.088283Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T09:31:03.088271Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T09:31:03.088338Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T09:31:03.088441Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T09:31:03.088510Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T09:31:03.092088Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T09:31:03.092320Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T09:31:03.092785Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T09:31:03.092866Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T09:31:03.092942Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T09:31:03.093029Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T09:31:03.093042Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T09:31:03.093822Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T09:31:03.094123Z INFO screenpipe: starting UI event capture\n2026-05-26T09:31:03.097737Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T09:31:03.102328Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T09:31:03.121802Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T09:31:03.122210Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122223Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122380Z INFO screenpipe_engine::ui_recorder: UI recording session started: 70b021ee-633e-452a-beee-018e5e9e0154\n2026-05-26T09:31:03.122499Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T09:31:03.122532Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 06:31:03.122531 UTC to 2026-05-26 06:31:03.122531 UTC)\n2026-05-26T09:31:03.129063Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T09:31:03.129324Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-05-25 06:31:03.122531 UTC\n2026-05-26T09:31:03.130434Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T09:31:03.138137Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T09:31:03.233929Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T09:31:03.233956Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.233979Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.279452Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T09:31:03.279482Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.279494Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T09:31:03.279504Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T09:31:03.279518Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.902920Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-26T09:31:04.015905Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T09:31:04.083586Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=71196, dur=79ms\n2026-05-26T09:31:04.121596Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=71197, dur=73ms\n2026-05-26T09:31:04.122653Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2","depth":4,"on_screen":true,"value":"ggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:44:24.266930Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:44:25.014009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70823 paired=1 still_pending=0\n2026-05-22T13:44:33.968081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70825 paired=1 still_pending=0\n2026-05-22T13:44:33.979801Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=13 pending_frames=3 total_pairs=1361 total_evicted=1661 total_failed=0\n2026-05-22T13:44:36.441738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70828 paired=1 still_pending=0\n2026-05-22T13:44:37.847861Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70830 paired=1 still_pending=0\n2026-05-22T13:44:40.885653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70832 paired=1 still_pending=0\n2026-05-22T13:44:40.900310Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=6 total_pairs=1364 total_evicted=1663 total_failed=0\n2026-05-22T13:44:42.701774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70834 paired=1 still_pending=0\n2026-05-22T13:44:43.824847Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=8 total_pairs=1365 total_evicted=1664 total_failed=0\n2026-05-22T13:44:52.043327Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=9 total_pairs=1365 total_evicted=1665 total_failed=0\n2026-05-22T13:44:52.051169Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2116 row_id=72618 frame_id=70834\n2026-05-22T13:44:57.722889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70838 paired=1 still_pending=0\n2026-05-22T13:45:00.326619Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70841 paired=1 still_pending=0\n2026-05-22T13:45:01.438065Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70843 paired=1 still_pending=0\n2026-05-22T13:45:02.639871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70844 paired=1 still_pending=0\n2026-05-22T13:45:03.540110Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=12 pending_frames=8 total_pairs=1370 total_evicted=1666 total_failed=0\n2026-05-22T13:45:12.188389Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2129 row_id=72631 frame_id=70845\n2026-05-22T13:45:12.202127Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=18 pending_frames=10 total_pairs=1371 total_evicted=1667 total_failed=0\n2026-05-22T13:45:16.057099Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=18 pending_frames=8 total_pairs=1371 total_evicted=1670 total_failed=0\n2026-05-22T13:45:16.057314Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70849 paired=1 still_pending=0\n2026-05-22T13:45:20.875496Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=10 pending_frames=9 total_pairs=1372 total_evicted=1677 total_failed=0\n2026-05-22T13:45:20.882266Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70852 paired=1 still_pending=0\n2026-05-22T13:45:28.721297Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70854 paired=1 still_pending=0\n2026-05-22T13:45:35.104940Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=10 total_pairs=1374 total_evicted=1678 total_failed=0\n2026-05-22T13:45:35.105437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70857 paired=1 still_pending=0\n2026-05-22T13:45:42.737020Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=10 pending_frames=7 total_pairs=1375 total_evicted=1682 total_failed=0\n2026-05-22T13:45:42.737594Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70860 paired=1 still_pending=0\n2026-05-22T13:46:14.157615Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=5 total_pairs=1376 total_evicted=1695 total_failed=0\n2026-05-22T13:46:14.159184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70864 paired=1 still_pending=0\n2026-05-22T13:46:16.392400Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70868 paired=1 still_pending=0\n2026-05-22T13:46:23.917654Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=5 total_pairs=1378 total_evicted=1697 total_failed=0\n2026-05-22T13:46:23.917863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70872 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:46:25.661664Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0\n2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0\n2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0\n2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0\n2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0\n2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0\n2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0\n2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0\n2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0\n2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)\n2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)\n2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)\n2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:47:01.445136Z WARN sqlx::query: summary=\"COMMIT\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.208017791s\n2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0\n2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0\n2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0\n2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0\n2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0\n2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)\n2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0\n2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0\n2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0\n2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0\n2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0\n2026-05-22T13:48:03.509264Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=116 elapsed=2.640436125s\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:48:46.815103Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=49 elapsed=4.025636458s\n2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted\n2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks\n2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0\n2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0\n2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:53:56.217432Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=73 elapsed=3.960102541s\n2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames\n2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted\n2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)\n2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0\n2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0\n2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)\n2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)\n2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)\n2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)\n2026-05-22T13:59:06.631961Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=95 elapsed=5.166274917s\n2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted\n2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted\n2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0\n2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)\n2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0\n2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0\n2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1\n2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0\n2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0\n2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0\n2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0\n2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0\n2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0\n2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0\n2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0\n2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0\n2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0\n2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0\n2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0\n2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0\n2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0\n2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0\n2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0\n2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985\n2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1\n2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0\n2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0\n2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0\n2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0\n2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0\n2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0\n2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)\n2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997\n2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0\n2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996\n2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)\n2026-05-22T14:04:23.562487Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=24 elapsed=6.035809s\n2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames\n2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted\n2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)\n2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0\n2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0\n2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0\n2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0\n2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0\n2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)\n2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)\n2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0\n2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0\n2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)\n2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)\n2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)\n2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)\n2026-05-22T14:09:33.786926Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=28 elapsed=6.384550083s\n2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted\n2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted\n2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0\n2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)\n2026-05-22T14:12:10.464016Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.079239583s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:14:43.042050Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=50 elapsed=3.636397916s\n2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted\n2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)\n2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted\n2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:24:32.462602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:37.549379Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-22T14:24:54.600747Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=23 elapsed=4.43952425s\n2026-05-22T14:24:54.601633Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-05-22T14:24:55.602008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.7MB → 0.5MB (5.3x), 10 JPEGs deleted\n2026-05-22T14:24:56.642375Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.4MB → 0.6MB (3.8x), 11 JPEGs deleted\n2026-05-22T14:25:28.391554Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-22T14:25:30.815683Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-22T14:25:30.873825Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-22T14:25:30.895223Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-22T14:25:31.011427Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1800 total_failed=0\n2026-05-22T14:25:31.041351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-05-22T14:25:31.072147Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-22T14:25:31.555379Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T14:25:32.955739Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-22T14:25:32.956016Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.301819Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302198Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302923Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T14:25:37.227488Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.172807333s\n2026-05-22T14:25:42.506390Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71094 paired=2 still_pending=0\n2026-05-22T14:25:47.526755Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 186.3ms elapsed (expected 5.3ms) → inserting 181.0ms silence (17373 samples)\n2026-05-22T14:25:51.569352Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71095 paired=1 still_pending=0\n2026-05-22T14:25:51.948223Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T14:25:54.996191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71096 paired=1 still_pending=3\n2026-05-22T14:26:04.719786Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71100 paired=2 still_pending=0\n2026-05-22T14:26:16.645139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71103 paired=2 still_pending=0\n2026-05-22T14:26:17.539794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71105 paired=1 still_pending=0\n2026-05-22T14:26:25.612324Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=121 elapsed=2.057079625s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:26:35.062506Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:26:38.338860Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71107 paired=2 still_pending=3\n2026-05-22T14:26:39.709291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=4 still_pending=0\n2026-05-22T14:26:41.199414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=1 still_pending=0\n2026-05-22T14:26:47.998207Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=4 pending_frames=4 total_pairs=1454 total_evicted=1802 total_failed=0\n2026-05-22T14:26:47.998406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71113 paired=1 still_pending=0\n2026-05-22T14:26:50.713519Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 94.9ms elapsed (expected 5.3ms) → inserting 89.6ms silence (8599 samples)\n2026-05-22T14:26:53.035157Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.9ms elapsed (expected 5.3ms) → inserting 81.6ms silence (7831 samples)\n2026-05-22T14:26:55.528246Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=5 pending_frames=2 total_pairs=1455 total_evicted=1805 total_failed=0\n2026-05-22T14:26:59.700021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71117 paired=1 still_pending=0\n2026-05-22T14:27:01.802403Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 150.4ms elapsed (expected 5.3ms) → inserting 145.1ms silence (13929 samples)\n2026-05-22T14:27:02.048529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 146.8ms elapsed (expected 5.3ms) → inserting 141.5ms silence (13580 samples)\n2026-05-22T14:27:02.634656Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.8ms elapsed (expected 5.3ms) → inserting 77.5ms silence (7441 samples)\n2026-05-22T14:27:08.244789Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71119 paired=1 still_pending=0\n2026-05-22T14:27:08.614218Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=15 pending_frames=2 total_pairs=1457 total_evicted=1806 total_failed=0\n2026-05-22T14:27:15.765277Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71122 paired=1 still_pending=0\n2026-05-22T14:27:17.627377Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71123 paired=1 still_pending=0\n2026-05-22T14:27:21.375727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71124 paired=1 still_pending=0\n2026-05-22T14:27:23.586009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71125 paired=1 still_pending=0\n2026-05-22T14:27:25.353137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71126 paired=1 still_pending=0\n2026-05-22T14:27:26.520746Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71127 paired=1 still_pending=0\n2026-05-22T14:27:29.515388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71128 paired=1 still_pending=0\n2026-05-22T14:27:32.139022Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71129 paired=1 still_pending=0\n2026-05-22T14:27:32.351320Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71130 paired=13 still_pending=8\n2026-05-22T14:27:37.736017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71133 paired=1 still_pending=0\n2026-05-22T14:27:39.031942Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=3 total_pairs=1479 total_evicted=1807 total_failed=0\n2026-05-22T14:27:43.869199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=2 total_pairs=1479 total_evicted=1809 total_failed=0\n2026-05-22T14:27:43.869392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71135 paired=1 still_pending=0\n2026-05-22T14:27:46.171511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71139 paired=1 still_pending=0\n2026-05-22T14:27:47.332190Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71141 paired=1 still_pending=0\n2026-05-22T14:27:49.492186Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71143 paired=1 still_pending=0\n2026-05-22T14:27:50.501416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71145 paired=1 still_pending=0\n2026-05-22T14:27:53.223291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71146 paired=1 still_pending=0\n2026-05-22T14:27:54.647434Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=7 total_pairs=1485 total_evicted=1811 total_failed=0\n2026-05-22T14:27:54.647867Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71148 paired=1 still_pending=0\n2026-05-22T14:27:55.800836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71150 paired=1 still_pending=0\n2026-05-22T14:27:59.963088Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=13 pending_frames=9 total_pairs=1487 total_evicted=1813 total_failed=0\n2026-05-22T14:28:02.216252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71152 paired=1 still_pending=0\n2026-05-22T14:28:08.799963Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71154 paired=1 still_pending=0\n2026-05-22T14:28:10.022618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71156 paired=1 still_pending=0\n2026-05-22T14:28:10.656006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71158 paired=1 still_pending=0\n2026-05-22T14:28:11.697532Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71159 paired=1 still_pending=0\n2026-05-22T14:28:13.111942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71160 paired=1 still_pending=0\n2026-05-22T14:28:14.231456Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=15 pending_frames=12 total_pairs=1493 total_evicted=1815 total_failed=0\n2026-05-22T14:28:14.231530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71161 paired=1 still_pending=0\n2026-05-22T14:28:16.814829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71163 paired=1 still_pending=0\n2026-05-22T14:28:17.782934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71165 paired=1 still_pending=0\n2026-05-22T14:28:19.653659Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71166 paired=1 still_pending=0\n2026-05-22T14:28:20.842891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71167 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T14:28:28.459283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71169 paired=1 still_pending=0\n2026-05-22T14:28:29.543836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71171 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:28:35.224354Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:28:40.949646Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=16 pending_frames=14 total_pairs=1500 total_evicted=1819 total_failed=0\n2026-05-22T14:28:40.967460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71173 paired=1 still_pending=0\n2026-05-22T14:28:43.559656Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71174 paired=1 still_pending=0\n2026-05-22T14:28:47.563682Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71177 paired=1 still_pending=0\n2026-05-22T14:28:48.732684Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=15 pending_frames=13 total_pairs=1503 total_evicted=1826 total_failed=0\n2026-05-22T14:28:51.100950Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 120.6ms elapsed (expected 5.3ms) → inserting 115.3ms silence (11065 samples)\n2026-05-22T14:28:53.664779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=15 pending_frames=11 total_pairs=1503 total_evicted=1829 total_failed=0\n2026-05-22T14:28:53.665107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71178 paired=1 still_pending=0\n2026-05-22T14:29:09.557244Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=8 pending_frames=7 total_pairs=1504 total_evicted=1840 total_failed=0\n2026-05-22T14:29:09.557642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71180 paired=1 still_pending=0\n2026-05-22T14:29:09.922481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.049361Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71181 paired=1 still_pending=0\n2026-05-22T14:29:12.052294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=2 still_pending=4\n2026-05-22T14:29:12.256384Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.415587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:13.568626Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=1 still_pending=0\n2026-05-22T14:29:13.617586Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=6 pending_frames=8 total_pairs=1509 total_evicted=1841 total_failed=0\n2026-05-22T14:29:17.830831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71185 paired=1 still_pending=0\n2026-05-22T14:29:18.617477Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=7 pending_frames=7 total_pairs=1510 total_evicted=1846 total_failed=0\n2026-05-22T14:29:18.977788Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 98.9ms elapsed (expected 5.3ms) → inserting 93.5ms silence (8979 samples)\n2026-05-22T14:29:25.235398Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=6 pending_frames=6 total_pairs=1510 total_evicted=1848 total_failed=0\n2026-05-22T14:29:25.235728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71188 paired=1 still_pending=0\n2026-05-22T14:29:28.896643Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1511 total_evicted=1849 total_failed=0\n2026-05-22T14:29:30.950594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1574809818300579953, trigger=visual_change)\n2026-05-22T14:29:31.780076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71192 paired=2 still_pending=0\n2026-05-22T14:29:32.670962Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71193 paired=1 still_pending=0\n2026-05-22T14:29:33.362313Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71194 paired=1 still_pending=0\n2026-05-22T14:29:34.261823Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71195 paired=1 still_pending=0\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alia sp-start \nzsh: command not found: alia\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n6.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.346\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T09:31:02.067706Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T09:31:02.688632Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T09:31:02.690317Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T09:31:02.690655Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T09:31:02.710847Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T09:31:02.710954Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T09:31:03.088283Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T09:31:03.088271Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T09:31:03.088338Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T09:31:03.088441Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T09:31:03.088510Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T09:31:03.092088Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T09:31:03.092320Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T09:31:03.092785Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T09:31:03.092866Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T09:31:03.092942Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T09:31:03.093029Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T09:31:03.093042Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T09:31:03.093822Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T09:31:03.094123Z INFO screenpipe: starting UI event capture\n2026-05-26T09:31:03.097737Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T09:31:03.102328Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T09:31:03.121802Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T09:31:03.122210Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122223Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122380Z INFO screenpipe_engine::ui_recorder: UI recording session started: 70b021ee-633e-452a-beee-018e5e9e0154\n2026-05-26T09:31:03.122499Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T09:31:03.122532Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 06:31:03.122531 UTC to 2026-05-26 06:31:03.122531 UTC)\n2026-05-26T09:31:03.129063Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T09:31:03.129324Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-05-25 06:31:03.122531 UTC\n2026-05-26T09:31:03.130434Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T09:31:03.138137Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T09:31:03.233929Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T09:31:03.233956Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.233979Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.279452Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T09:31:03.279482Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.279494Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T09:31:03.279504Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T09:31:03.279518Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.902920Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-26T09:31:04.015905Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T09:31:04.083586Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=71196, dur=79ms\n2026-05-26T09:31:04.121596Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=71197, dur=73ms\n2026-05-26T09:31:04.122653Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0013888889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.19444445,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.19861111,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.39166668,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.39583334,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5888889,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.59305555,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7861111,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.7902778,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.46944445,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-8930316728392444063
|
-6580230440077003319
|
visual_change
|
accessibility
|
NULL
|
ggml_metal_init: use fusion = true
ggml_me ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:44:24.266930Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:44:25.014009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70823 paired=1 still_pending=0
2026-05-22T13:44:33.968081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70825 paired=1 still_pending=0
2026-05-22T13:44:33.979801Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=13 pending_frames=3 total_pairs=1361 total_evicted=1661 total_failed=0
2026-05-22T13:44:36.441738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70828 paired=1 still_pending=0
2026-05-22T13:44:37.847861Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70830 paired=1 still_pending=0
2026-05-22T13:44:40.885653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70832 paired=1 still_pending=0
2026-05-22T13:44:40.900310Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=6 total_pairs=1364 total_evicted=1663 total_failed=0
2026-05-22T13:44:42.701774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70834 paired=1 still_pending=0
2026-05-22T13:44:43.824847Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=8 total_pairs=1365 total_evicted=1664 total_failed=0
2026-05-22T13:44:52.043327Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=9 total_pairs=1365 total_evicted=1665 total_failed=0
2026-05-22T13:44:52.051169Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2116 row_id=72618 frame_id=70834
2026-05-22T13:44:57.722889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70838 paired=1 still_pending=0
2026-05-22T13:45:00.326619Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70841 paired=1 still_pending=0
2026-05-22T13:45:01.438065Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70843 paired=1 still_pending=0
2026-05-22T13:45:02.639871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70844 paired=1 still_pending=0
2026-05-22T13:45:03.540110Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=12 pending_frames=8 total_pairs=1370 total_evicted=1666 total_failed=0
2026-05-22T13:45:12.188389Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2129 row_id=72631 frame_id=70845
2026-05-22T13:45:12.202127Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=18 pending_frames=10 total_pairs=1371 total_evicted=1667 total_failed=0
2026-05-22T13:45:16.057099Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=18 pending_frames=8 total_pairs=1371 total_evicted=1670 total_failed=0
2026-05-22T13:45:16.057314Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70849 paired=1 still_pending=0
2026-05-22T13:45:20.875496Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=10 pending_frames=9 total_pairs=1372 total_evicted=1677 total_failed=0
2026-05-22T13:45:20.882266Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70852 paired=1 still_pending=0
2026-05-22T13:45:28.721297Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70854 paired=1 still_pending=0
2026-05-22T13:45:35.104940Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=10 total_pairs=1374 total_evicted=1678 total_failed=0
2026-05-22T13:45:35.105437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70857 paired=1 still_pending=0
2026-05-22T13:45:42.737020Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=10 pending_frames=7 total_pairs=1375 total_evicted=1682 total_failed=0
2026-05-22T13:45:42.737594Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70860 paired=1 still_pending=0
2026-05-22T13:46:14.157615Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=5 total_pairs=1376 total_evicted=1695 total_failed=0
2026-05-22T13:46:14.159184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70864 paired=1 still_pending=0
2026-05-22T13:46:16.392400Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70868 paired=1 still_pending=0
2026-05-22T13:46:23.917654Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=5 total_pairs=1378 total_evicted=1697 total_failed=0
2026-05-22T13:46:23.917863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70872 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:46:25.661664Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0
2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0
2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0
2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0
2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0
2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)
2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)
2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)
2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:47:01.445136Z WARN sqlx::query: summary="COMMIT" db.statement="" rows_affected=1 rows_returned=0 elapsed=1.208017791s
2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0
2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0
2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0
2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0
2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0
2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)
2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0
2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0
2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0
2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0
2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0
2026-05-22T13:48:03.509264Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=116 elapsed=2.640436125s
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:48:46.815103Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=49 elapsed=4.025636458s
2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames
2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted
2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks
2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0
2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0
2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:53:56.217432Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=73 elapsed=3.960102541s
2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames
2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted
2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)
2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0
2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0
2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)
2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)
2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)
2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)
2026-05-22T13:59:06.631961Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=95 elapsed=5.166274917s
2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted
2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted
2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0
2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)
2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0
2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0
2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1
2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0
2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0
2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0
2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0
2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0
2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0
2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0
2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0
2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0
2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0
2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0
2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0
2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0
2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0
2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0
2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0
2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985
2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1
2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0
2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0
2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0
2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0
2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0
2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0
2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)
2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997
2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0
2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996
2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)
2026-05-22T14:04:23.562487Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=24 elapsed=6.035809s
2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted
2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)
2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0
2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0
2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0
2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0
2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0
2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)
2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)
2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0
2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0
2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)
2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)
2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)
2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)
2026-05-22T14:09:33.786926Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=28 elapsed=6.384550083s
2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted
2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted
2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0
2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)
2026-05-22T14:12:10.464016Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=118 elapsed=1.079239583s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manag...
|
71196
|
NULL
|
NULL
|
NULL
|
|
71200
|
2558
|
3
|
2026-05-26T06:31:15.136411+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-26/1779 /Users/lukas/.screenpipe/data/data/2026-05-26/1779777075136_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-05-22T13:46:27.032835Z INFO screenpipe_engin 2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0
2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0
2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0
2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0
2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0
2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)
2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)
2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)
2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:47:01.445136Z WARN sqlx::query: summary="COMMIT" db.statement="" rows_affected=1 rows_returned=0 elapsed=1.208017791s
2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0
2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0
2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0
2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0
2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0
2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)
2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0
2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0
2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0
2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0
2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0
2026-05-22T13:48:03.509264Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=116 elapsed=2.640436125s
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:48:46.815103Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=49 elapsed=4.025636458s
2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames
2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted
2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks
2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0
2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0
2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:53:56.217432Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=73 elapsed=3.960102541s
2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames
2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted
2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)
2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0
2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0
2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)
2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)
2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)
2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)
2026-05-22T13:59:06.631961Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=95 elapsed=5.166274917s
2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted
2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted
2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0
2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)
2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0
2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0
2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1
2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0
2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0
2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0
2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0
2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0
2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0
2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0
2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0
2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0
2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0
2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0
2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0
2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0
2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0
2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0
2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0
2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985
2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1
2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0
2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0
2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0
2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0
2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0
2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0
2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)
2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997
2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0
2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996
2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)
2026-05-22T14:04:23.562487Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=24 elapsed=6.035809s
2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted
2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)
2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0
2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0
2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0
2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0
2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0
2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)
2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)
2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0
2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0
2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)
2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)
2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)
2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)
2026-05-22T14:09:33.786926Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=28 elapsed=6.384550083s
2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted
2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted
2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0
2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)
2026-05-22T14:12:10.464016Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=118 elapsed=1.079239583s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:14:43.042050Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=50 elapsed=3.636397916s
2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames
2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted
2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)
2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames
2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted
2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size =...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0\n2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0\n2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0\n2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0\n2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0\n2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0\n2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0\n2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0\n2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0\n2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)\n2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)\n2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)\n2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:47:01.445136Z WARN sqlx::query: summary=\"COMMIT\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.208017791s\n2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0\n2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0\n2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0\n2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0\n2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0\n2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)\n2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0\n2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0\n2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0\n2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0\n2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0\n2026-05-22T13:48:03.509264Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=116 elapsed=2.640436125s\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:48:46.815103Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=49 elapsed=4.025636458s\n2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted\n2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks\n2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0\n2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0\n2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:53:56.217432Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=73 elapsed=3.960102541s\n2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames\n2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted\n2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)\n2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0\n2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0\n2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)\n2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)\n2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)\n2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)\n2026-05-22T13:59:06.631961Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=95 elapsed=5.166274917s\n2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted\n2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted\n2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0\n2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)\n2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0\n2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0\n2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1\n2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0\n2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0\n2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0\n2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0\n2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0\n2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0\n2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0\n2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0\n2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0\n2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0\n2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0\n2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0\n2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0\n2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0\n2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0\n2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0\n2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985\n2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1\n2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0\n2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0\n2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0\n2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0\n2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0\n2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0\n2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)\n2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997\n2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0\n2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996\n2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)\n2026-05-22T14:04:23.562487Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=24 elapsed=6.035809s\n2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames\n2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted\n2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)\n2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0\n2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0\n2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0\n2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0\n2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0\n2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)\n2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)\n2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0\n2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0\n2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)\n2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)\n2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)\n2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)\n2026-05-22T14:09:33.786926Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=28 elapsed=6.384550083s\n2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted\n2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted\n2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0\n2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)\n2026-05-22T14:12:10.464016Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.079239583s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:14:43.042050Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=50 elapsed=3.636397916s\n2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted\n2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)\n2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted\n2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:24:32.462602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:37.549379Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-22T14:24:54.600747Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=23 elapsed=4.43952425s\n2026-05-22T14:24:54.601633Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-05-22T14:24:55.602008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.7MB → 0.5MB (5.3x), 10 JPEGs deleted\n2026-05-22T14:24:56.642375Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.4MB → 0.6MB (3.8x), 11 JPEGs deleted\n2026-05-22T14:25:28.391554Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-22T14:25:30.815683Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-22T14:25:30.873825Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-22T14:25:30.895223Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-22T14:25:31.011427Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1800 total_failed=0\n2026-05-22T14:25:31.041351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-05-22T14:25:31.072147Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-22T14:25:31.555379Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T14:25:32.955739Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-22T14:25:32.956016Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.301819Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302198Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302923Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T14:25:37.227488Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.172807333s\n2026-05-22T14:25:42.506390Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71094 paired=2 still_pending=0\n2026-05-22T14:25:47.526755Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 186.3ms elapsed (expected 5.3ms) → inserting 181.0ms silence (17373 samples)\n2026-05-22T14:25:51.569352Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71095 paired=1 still_pending=0\n2026-05-22T14:25:51.948223Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T14:25:54.996191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71096 paired=1 still_pending=3\n2026-05-22T14:26:04.719786Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71100 paired=2 still_pending=0\n2026-05-22T14:26:16.645139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71103 paired=2 still_pending=0\n2026-05-22T14:26:17.539794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71105 paired=1 still_pending=0\n2026-05-22T14:26:25.612324Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=121 elapsed=2.057079625s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:26:35.062506Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:26:38.338860Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71107 paired=2 still_pending=3\n2026-05-22T14:26:39.709291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=4 still_pending=0\n2026-05-22T14:26:41.199414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=1 still_pending=0\n2026-05-22T14:26:47.998207Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=4 pending_frames=4 total_pairs=1454 total_evicted=1802 total_failed=0\n2026-05-22T14:26:47.998406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71113 paired=1 still_pending=0\n2026-05-22T14:26:50.713519Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 94.9ms elapsed (expected 5.3ms) → inserting 89.6ms silence (8599 samples)\n2026-05-22T14:26:53.035157Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.9ms elapsed (expected 5.3ms) → inserting 81.6ms silence (7831 samples)\n2026-05-22T14:26:55.528246Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=5 pending_frames=2 total_pairs=1455 total_evicted=1805 total_failed=0\n2026-05-22T14:26:59.700021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71117 paired=1 still_pending=0\n2026-05-22T14:27:01.802403Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 150.4ms elapsed (expected 5.3ms) → inserting 145.1ms silence (13929 samples)\n2026-05-22T14:27:02.048529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 146.8ms elapsed (expected 5.3ms) → inserting 141.5ms silence (13580 samples)\n2026-05-22T14:27:02.634656Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.8ms elapsed (expected 5.3ms) → inserting 77.5ms silence (7441 samples)\n2026-05-22T14:27:08.244789Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71119 paired=1 still_pending=0\n2026-05-22T14:27:08.614218Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=15 pending_frames=2 total_pairs=1457 total_evicted=1806 total_failed=0\n2026-05-22T14:27:15.765277Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71122 paired=1 still_pending=0\n2026-05-22T14:27:17.627377Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71123 paired=1 still_pending=0\n2026-05-22T14:27:21.375727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71124 paired=1 still_pending=0\n2026-05-22T14:27:23.586009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71125 paired=1 still_pending=0\n2026-05-22T14:27:25.353137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71126 paired=1 still_pending=0\n2026-05-22T14:27:26.520746Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71127 paired=1 still_pending=0\n2026-05-22T14:27:29.515388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71128 paired=1 still_pending=0\n2026-05-22T14:27:32.139022Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71129 paired=1 still_pending=0\n2026-05-22T14:27:32.351320Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71130 paired=13 still_pending=8\n2026-05-22T14:27:37.736017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71133 paired=1 still_pending=0\n2026-05-22T14:27:39.031942Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=3 total_pairs=1479 total_evicted=1807 total_failed=0\n2026-05-22T14:27:43.869199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=2 total_pairs=1479 total_evicted=1809 total_failed=0\n2026-05-22T14:27:43.869392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71135 paired=1 still_pending=0\n2026-05-22T14:27:46.171511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71139 paired=1 still_pending=0\n2026-05-22T14:27:47.332190Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71141 paired=1 still_pending=0\n2026-05-22T14:27:49.492186Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71143 paired=1 still_pending=0\n2026-05-22T14:27:50.501416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71145 paired=1 still_pending=0\n2026-05-22T14:27:53.223291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71146 paired=1 still_pending=0\n2026-05-22T14:27:54.647434Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=7 total_pairs=1485 total_evicted=1811 total_failed=0\n2026-05-22T14:27:54.647867Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71148 paired=1 still_pending=0\n2026-05-22T14:27:55.800836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71150 paired=1 still_pending=0\n2026-05-22T14:27:59.963088Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=13 pending_frames=9 total_pairs=1487 total_evicted=1813 total_failed=0\n2026-05-22T14:28:02.216252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71152 paired=1 still_pending=0\n2026-05-22T14:28:08.799963Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71154 paired=1 still_pending=0\n2026-05-22T14:28:10.022618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71156 paired=1 still_pending=0\n2026-05-22T14:28:10.656006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71158 paired=1 still_pending=0\n2026-05-22T14:28:11.697532Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71159 paired=1 still_pending=0\n2026-05-22T14:28:13.111942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71160 paired=1 still_pending=0\n2026-05-22T14:28:14.231456Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=15 pending_frames=12 total_pairs=1493 total_evicted=1815 total_failed=0\n2026-05-22T14:28:14.231530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71161 paired=1 still_pending=0\n2026-05-22T14:28:16.814829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71163 paired=1 still_pending=0\n2026-05-22T14:28:17.782934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71165 paired=1 still_pending=0\n2026-05-22T14:28:19.653659Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71166 paired=1 still_pending=0\n2026-05-22T14:28:20.842891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71167 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T14:28:28.459283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71169 paired=1 still_pending=0\n2026-05-22T14:28:29.543836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71171 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:28:35.224354Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:28:40.949646Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=16 pending_frames=14 total_pairs=1500 total_evicted=1819 total_failed=0\n2026-05-22T14:28:40.967460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71173 paired=1 still_pending=0\n2026-05-22T14:28:43.559656Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71174 paired=1 still_pending=0\n2026-05-22T14:28:47.563682Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71177 paired=1 still_pending=0\n2026-05-22T14:28:48.732684Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=15 pending_frames=13 total_pairs=1503 total_evicted=1826 total_failed=0\n2026-05-22T14:28:51.100950Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 120.6ms elapsed (expected 5.3ms) → inserting 115.3ms silence (11065 samples)\n2026-05-22T14:28:53.664779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=15 pending_frames=11 total_pairs=1503 total_evicted=1829 total_failed=0\n2026-05-22T14:28:53.665107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71178 paired=1 still_pending=0\n2026-05-22T14:29:09.557244Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=8 pending_frames=7 total_pairs=1504 total_evicted=1840 total_failed=0\n2026-05-22T14:29:09.557642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71180 paired=1 still_pending=0\n2026-05-22T14:29:09.922481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.049361Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71181 paired=1 still_pending=0\n2026-05-22T14:29:12.052294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=2 still_pending=4\n2026-05-22T14:29:12.256384Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.415587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:13.568626Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=1 still_pending=0\n2026-05-22T14:29:13.617586Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=6 pending_frames=8 total_pairs=1509 total_evicted=1841 total_failed=0\n2026-05-22T14:29:17.830831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71185 paired=1 still_pending=0\n2026-05-22T14:29:18.617477Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=7 pending_frames=7 total_pairs=1510 total_evicted=1846 total_failed=0\n2026-05-22T14:29:18.977788Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 98.9ms elapsed (expected 5.3ms) → inserting 93.5ms silence (8979 samples)\n2026-05-22T14:29:25.235398Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=6 pending_frames=6 total_pairs=1510 total_evicted=1848 total_failed=0\n2026-05-22T14:29:25.235728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71188 paired=1 still_pending=0\n2026-05-22T14:29:28.896643Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1511 total_evicted=1849 total_failed=0\n2026-05-22T14:29:30.950594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1574809818300579953, trigger=visual_change)\n2026-05-22T14:29:31.780076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71192 paired=2 still_pending=0\n2026-05-22T14:29:32.670962Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71193 paired=1 still_pending=0\n2026-05-22T14:29:33.362313Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71194 paired=1 still_pending=0\n2026-05-22T14:29:34.261823Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71195 paired=1 still_pending=0\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alia sp-start \nzsh: command not found: alia\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n6.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.346\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T09:31:02.067706Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T09:31:02.688632Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T09:31:02.690317Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T09:31:02.690655Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T09:31:02.710847Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T09:31:02.710954Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T09:31:03.088283Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T09:31:03.088271Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T09:31:03.088338Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T09:31:03.088441Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T09:31:03.088510Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T09:31:03.092088Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T09:31:03.092320Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T09:31:03.092785Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T09:31:03.092866Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T09:31:03.092942Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T09:31:03.093029Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T09:31:03.093042Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T09:31:03.093822Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T09:31:03.094123Z INFO screenpipe: starting UI event capture\n2026-05-26T09:31:03.097737Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T09:31:03.102328Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T09:31:03.121802Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T09:31:03.122210Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122223Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122380Z INFO screenpipe_engine::ui_recorder: UI recording session started: 70b021ee-633e-452a-beee-018e5e9e0154\n2026-05-26T09:31:03.122499Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T09:31:03.122532Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 06:31:03.122531 UTC to 2026-05-26 06:31:03.122531 UTC)\n2026-05-26T09:31:03.129063Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T09:31:03.129324Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-05-25 06:31:03.122531 UTC\n2026-05-26T09:31:03.130434Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T09:31:03.138137Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T09:31:03.233929Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T09:31:03.233956Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.233979Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.279452Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T09:31:03.279482Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.279494Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T09:31:03.279504Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T09:31:03.279518Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.902920Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-26T09:31:04.015905Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T09:31:04.083586Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=71196, dur=79ms\n2026-05-26T09:31:04.121596Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=71197, dur=73ms\n2026-05-26T09:31:04.122653Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-26T09:31:12.673275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4456630385270008726, trigger=visual_change)\n2026-05-26T09:31:13.096778Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-26T09:31:13.099373Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-26T09:31:13.099500Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-26T09:31:13.099519Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 0.049 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-26T09:31:13.246182Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-26T09:31:13.250810Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-26T09:31:13.251051Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-26T09:31:13.252080Z INFO screenpipe_audio::audio_manager::manager: seeded 62 speakers (named + unnamed) from DB into embedding manager\n2026-05-26T09:31:13.252116Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-26T09:31:13.252139Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-26T09:31:13.701895Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-26T09:31:13.748252Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-26T09:31:13.748323Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-26T09:31:13.748351Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-26T09:31:14.972187Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71199 paired=2 still_pending=0","depth":4,"on_screen":true,"value":"2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0\n2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0\n2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0\n2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0\n2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0\n2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0\n2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0\n2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0\n2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0\n2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)\n2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)\n2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)\n2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:47:01.445136Z WARN sqlx::query: summary=\"COMMIT\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.208017791s\n2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0\n2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0\n2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0\n2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0\n2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0\n2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)\n2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0\n2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0\n2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0\n2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0\n2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0\n2026-05-22T13:48:03.509264Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=116 elapsed=2.640436125s\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:48:46.815103Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=49 elapsed=4.025636458s\n2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted\n2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks\n2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0\n2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0\n2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:53:56.217432Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=73 elapsed=3.960102541s\n2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames\n2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted\n2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)\n2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0\n2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0\n2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)\n2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)\n2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)\n2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)\n2026-05-22T13:59:06.631961Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=95 elapsed=5.166274917s\n2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted\n2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted\n2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0\n2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)\n2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0\n2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0\n2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1\n2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0\n2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0\n2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0\n2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0\n2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0\n2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0\n2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0\n2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0\n2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0\n2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0\n2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0\n2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0\n2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0\n2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0\n2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0\n2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0\n2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985\n2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1\n2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0\n2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0\n2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0\n2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0\n2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0\n2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0\n2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)\n2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997\n2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0\n2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996\n2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)\n2026-05-22T14:04:23.562487Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=24 elapsed=6.035809s\n2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames\n2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted\n2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)\n2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0\n2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0\n2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0\n2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0\n2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0\n2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)\n2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)\n2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0\n2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0\n2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)\n2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)\n2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)\n2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)\n2026-05-22T14:09:33.786926Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=28 elapsed=6.384550083s\n2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted\n2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted\n2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0\n2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)\n2026-05-22T14:12:10.464016Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.079239583s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:14:43.042050Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=50 elapsed=3.636397916s\n2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted\n2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)\n2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted\n2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:24:32.462602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:37.549379Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-22T14:24:54.600747Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=23 elapsed=4.43952425s\n2026-05-22T14:24:54.601633Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-05-22T14:24:55.602008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.7MB → 0.5MB (5.3x), 10 JPEGs deleted\n2026-05-22T14:24:56.642375Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.4MB → 0.6MB (3.8x), 11 JPEGs deleted\n2026-05-22T14:25:28.391554Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-22T14:25:30.815683Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-22T14:25:30.873825Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-22T14:25:30.895223Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-22T14:25:31.011427Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1800 total_failed=0\n2026-05-22T14:25:31.041351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-05-22T14:25:31.072147Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-22T14:25:31.555379Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T14:25:32.955739Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-22T14:25:32.956016Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.301819Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302198Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302923Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T14:25:37.227488Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.172807333s\n2026-05-22T14:25:42.506390Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71094 paired=2 still_pending=0\n2026-05-22T14:25:47.526755Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 186.3ms elapsed (expected 5.3ms) → inserting 181.0ms silence (17373 samples)\n2026-05-22T14:25:51.569352Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71095 paired=1 still_pending=0\n2026-05-22T14:25:51.948223Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T14:25:54.996191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71096 paired=1 still_pending=3\n2026-05-22T14:26:04.719786Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71100 paired=2 still_pending=0\n2026-05-22T14:26:16.645139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71103 paired=2 still_pending=0\n2026-05-22T14:26:17.539794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71105 paired=1 still_pending=0\n2026-05-22T14:26:25.612324Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=121 elapsed=2.057079625s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:26:35.062506Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:26:38.338860Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71107 paired=2 still_pending=3\n2026-05-22T14:26:39.709291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=4 still_pending=0\n2026-05-22T14:26:41.199414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=1 still_pending=0\n2026-05-22T14:26:47.998207Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=4 pending_frames=4 total_pairs=1454 total_evicted=1802 total_failed=0\n2026-05-22T14:26:47.998406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71113 paired=1 still_pending=0\n2026-05-22T14:26:50.713519Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 94.9ms elapsed (expected 5.3ms) → inserting 89.6ms silence (8599 samples)\n2026-05-22T14:26:53.035157Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.9ms elapsed (expected 5.3ms) → inserting 81.6ms silence (7831 samples)\n2026-05-22T14:26:55.528246Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=5 pending_frames=2 total_pairs=1455 total_evicted=1805 total_failed=0\n2026-05-22T14:26:59.700021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71117 paired=1 still_pending=0\n2026-05-22T14:27:01.802403Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 150.4ms elapsed (expected 5.3ms) → inserting 145.1ms silence (13929 samples)\n2026-05-22T14:27:02.048529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 146.8ms elapsed (expected 5.3ms) → inserting 141.5ms silence (13580 samples)\n2026-05-22T14:27:02.634656Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.8ms elapsed (expected 5.3ms) → inserting 77.5ms silence (7441 samples)\n2026-05-22T14:27:08.244789Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71119 paired=1 still_pending=0\n2026-05-22T14:27:08.614218Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=15 pending_frames=2 total_pairs=1457 total_evicted=1806 total_failed=0\n2026-05-22T14:27:15.765277Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71122 paired=1 still_pending=0\n2026-05-22T14:27:17.627377Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71123 paired=1 still_pending=0\n2026-05-22T14:27:21.375727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71124 paired=1 still_pending=0\n2026-05-22T14:27:23.586009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71125 paired=1 still_pending=0\n2026-05-22T14:27:25.353137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71126 paired=1 still_pending=0\n2026-05-22T14:27:26.520746Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71127 paired=1 still_pending=0\n2026-05-22T14:27:29.515388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71128 paired=1 still_pending=0\n2026-05-22T14:27:32.139022Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71129 paired=1 still_pending=0\n2026-05-22T14:27:32.351320Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71130 paired=13 still_pending=8\n2026-05-22T14:27:37.736017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71133 paired=1 still_pending=0\n2026-05-22T14:27:39.031942Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=3 total_pairs=1479 total_evicted=1807 total_failed=0\n2026-05-22T14:27:43.869199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=2 total_pairs=1479 total_evicted=1809 total_failed=0\n2026-05-22T14:27:43.869392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71135 paired=1 still_pending=0\n2026-05-22T14:27:46.171511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71139 paired=1 still_pending=0\n2026-05-22T14:27:47.332190Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71141 paired=1 still_pending=0\n2026-05-22T14:27:49.492186Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71143 paired=1 still_pending=0\n2026-05-22T14:27:50.501416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71145 paired=1 still_pending=0\n2026-05-22T14:27:53.223291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71146 paired=1 still_pending=0\n2026-05-22T14:27:54.647434Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=7 total_pairs=1485 total_evicted=1811 total_failed=0\n2026-05-22T14:27:54.647867Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71148 paired=1 still_pending=0\n2026-05-22T14:27:55.800836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71150 paired=1 still_pending=0\n2026-05-22T14:27:59.963088Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=13 pending_frames=9 total_pairs=1487 total_evicted=1813 total_failed=0\n2026-05-22T14:28:02.216252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71152 paired=1 still_pending=0\n2026-05-22T14:28:08.799963Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71154 paired=1 still_pending=0\n2026-05-22T14:28:10.022618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71156 paired=1 still_pending=0\n2026-05-22T14:28:10.656006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71158 paired=1 still_pending=0\n2026-05-22T14:28:11.697532Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71159 paired=1 still_pending=0\n2026-05-22T14:28:13.111942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71160 paired=1 still_pending=0\n2026-05-22T14:28:14.231456Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=15 pending_frames=12 total_pairs=1493 total_evicted=1815 total_failed=0\n2026-05-22T14:28:14.231530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71161 paired=1 still_pending=0\n2026-05-22T14:28:16.814829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71163 paired=1 still_pending=0\n2026-05-22T14:28:17.782934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71165 paired=1 still_pending=0\n2026-05-22T14:28:19.653659Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71166 paired=1 still_pending=0\n2026-05-22T14:28:20.842891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71167 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T14:28:28.459283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71169 paired=1 still_pending=0\n2026-05-22T14:28:29.543836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71171 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:28:35.224354Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:28:40.949646Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=16 pending_frames=14 total_pairs=1500 total_evicted=1819 total_failed=0\n2026-05-22T14:28:40.967460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71173 paired=1 still_pending=0\n2026-05-22T14:28:43.559656Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71174 paired=1 still_pending=0\n2026-05-22T14:28:47.563682Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71177 paired=1 still_pending=0\n2026-05-22T14:28:48.732684Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=15 pending_frames=13 total_pairs=1503 total_evicted=1826 total_failed=0\n2026-05-22T14:28:51.100950Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 120.6ms elapsed (expected 5.3ms) → inserting 115.3ms silence (11065 samples)\n2026-05-22T14:28:53.664779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=15 pending_frames=11 total_pairs=1503 total_evicted=1829 total_failed=0\n2026-05-22T14:28:53.665107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71178 paired=1 still_pending=0\n2026-05-22T14:29:09.557244Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=8 pending_frames=7 total_pairs=1504 total_evicted=1840 total_failed=0\n2026-05-22T14:29:09.557642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71180 paired=1 still_pending=0\n2026-05-22T14:29:09.922481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.049361Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71181 paired=1 still_pending=0\n2026-05-22T14:29:12.052294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=2 still_pending=4\n2026-05-22T14:29:12.256384Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.415587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:13.568626Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=1 still_pending=0\n2026-05-22T14:29:13.617586Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=6 pending_frames=8 total_pairs=1509 total_evicted=1841 total_failed=0\n2026-05-22T14:29:17.830831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71185 paired=1 still_pending=0\n2026-05-22T14:29:18.617477Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=7 pending_frames=7 total_pairs=1510 total_evicted=1846 total_failed=0\n2026-05-22T14:29:18.977788Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 98.9ms elapsed (expected 5.3ms) → inserting 93.5ms silence (8979 samples)\n2026-05-22T14:29:25.235398Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=6 pending_frames=6 total_pairs=1510 total_evicted=1848 total_failed=0\n2026-05-22T14:29:25.235728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71188 paired=1 still_pending=0\n2026-05-22T14:29:28.896643Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1511 total_evicted=1849 total_failed=0\n2026-05-22T14:29:30.950594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1574809818300579953, trigger=visual_change)\n2026-05-22T14:29:31.780076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71192 paired=2 still_pending=0\n2026-05-22T14:29:32.670962Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71193 paired=1 still_pending=0\n2026-05-22T14:29:33.362313Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71194 paired=1 still_pending=0\n2026-05-22T14:29:34.261823Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71195 paired=1 still_pending=0\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alia sp-start \nzsh: command not found: alia\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n6.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.346\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T09:31:02.067706Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T09:31:02.688632Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T09:31:02.690317Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T09:31:02.690655Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T09:31:02.710847Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T09:31:02.710954Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T09:31:03.088283Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T09:31:03.088271Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T09:31:03.088338Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T09:31:03.088441Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T09:31:03.088510Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T09:31:03.092088Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T09:31:03.092320Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T09:31:03.092785Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T09:31:03.092866Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T09:31:03.092942Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T09:31:03.093029Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T09:31:03.093042Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T09:31:03.093822Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T09:31:03.094123Z INFO screenpipe: starting UI event capture\n2026-05-26T09:31:03.097737Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T09:31:03.102328Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T09:31:03.121802Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T09:31:03.122210Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122223Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122380Z INFO screenpipe_engine::ui_recorder: UI recording session started: 70b021ee-633e-452a-beee-018e5e9e0154\n2026-05-26T09:31:03.122499Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T09:31:03.122532Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 06:31:03.122531 UTC to 2026-05-26 06:31:03.122531 UTC)\n2026-05-26T09:31:03.129063Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T09:31:03.129324Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-05-25 06:31:03.122531 UTC\n2026-05-26T09:31:03.130434Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T09:31:03.138137Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T09:31:03.233929Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T09:31:03.233956Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.233979Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.279452Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T09:31:03.279482Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.279494Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T09:31:03.279504Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T09:31:03.279518Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.902920Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-26T09:31:04.015905Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T09:31:04.083586Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=71196, dur=79ms\n2026-05-26T09:31:04.121596Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=71197, dur=73ms\n2026-05-26T09:31:04.122653Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-26T09:31:12.673275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4456630385270008726, trigger=visual_change)\n2026-05-26T09:31:13.096778Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-26T09:31:13.099373Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-26T09:31:13.099500Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-26T09:31:13.099519Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 0.049 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-26T09:31:13.246182Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-26T09:31:13.250810Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-26T09:31:13.251051Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-26T09:31:13.252080Z INFO screenpipe_audio::audio_manager::manager: seeded 62 speakers (named + unnamed) from DB into embedding manager\n2026-05-26T09:31:13.252116Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-26T09:31:13.252139Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-26T09:31:13.701895Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-26T09:31:13.748252Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-26T09:31:13.748323Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-26T09:31:13.748351Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-26T09:31:14.972187Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71199 paired=2 still_pending=0","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0013888889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.19444445,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.19861111,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.39166668,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.39583334,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5888889,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.59305555,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7861111,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.7902778,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.46944445,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-4958587055304279033
|
-5427308935470221855
|
click
|
accessibility
|
NULL
|
2026-05-22T13:46:27.032835Z INFO screenpipe_engin 2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0
2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0
2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0
2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0
2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0
2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)
2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)
2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)
2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:47:01.445136Z WARN sqlx::query: summary="COMMIT" db.statement="" rows_affected=1 rows_returned=0 elapsed=1.208017791s
2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0
2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0
2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0
2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0
2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0
2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)
2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0
2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0
2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0
2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0
2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0
2026-05-22T13:48:03.509264Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=116 elapsed=2.640436125s
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:48:46.815103Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=49 elapsed=4.025636458s
2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames
2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted
2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks
2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0
2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0
2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:53:56.217432Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=73 elapsed=3.960102541s
2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames
2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted
2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)
2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0
2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0
2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)
2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)
2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)
2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)
2026-05-22T13:59:06.631961Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=95 elapsed=5.166274917s
2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted
2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted
2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0
2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)
2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0
2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0
2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1
2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0
2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0
2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0
2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0
2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0
2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0
2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0
2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0
2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0
2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0
2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0
2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0
2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0
2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0
2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0
2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0
2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985
2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1
2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0
2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0
2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0
2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0
2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0
2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0
2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)
2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997
2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0
2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996
2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)
2026-05-22T14:04:23.562487Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=24 elapsed=6.035809s
2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted
2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)
2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0
2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0
2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0
2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0
2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0
2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)
2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)
2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0
2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0
2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)
2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)
2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)
2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)
2026-05-22T14:09:33.786926Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=28 elapsed=6.384550083s
2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted
2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted
2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0
2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)
2026-05-22T14:12:10.464016Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=118 elapsed=1.079239583s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:14:43.042050Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=50 elapsed=3.636397916s
2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames
2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted
2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)
2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames
2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted
2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size =...
|
71199
|
NULL
|
NULL
|
NULL
|
|
71217
|
2559
|
15
|
2026-05-26T06:31:48.584129+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-26/1779 /Users/lukas/.screenpipe/data/data/2026-05-26/1779777108584_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-05-22T13:46:57.771304Z INFO screenpipe_engin 2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)
2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)
2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)
2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:47:01.445136Z WARN sqlx::query: summary="COMMIT" db.statement="" rows_affected=1 rows_returned=0 elapsed=1.208017791s
2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0
2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0
2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0
2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0
2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0
2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)
2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0
2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0
2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0
2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0
2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0
2026-05-22T13:48:03.509264Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=116 elapsed=2.640436125s
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:48:46.815103Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=49 elapsed=4.025636458s
2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames
2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted
2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks
2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0
2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0
2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:53:56.217432Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=73 elapsed=3.960102541s
2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames
2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted
2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)
2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0
2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0
2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)
2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)
2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)
2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)
2026-05-22T13:59:06.631961Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=95 elapsed=5.166274917s
2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted
2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted
2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0
2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)
2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0
2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0
2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1
2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0
2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0
2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0
2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0
2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0
2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0
2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0
2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0
2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0
2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0
2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0
2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0
2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0
2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0
2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0
2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0
2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985
2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1
2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0
2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0
2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0
2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0
2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0
2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0
2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)
2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997
2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0
2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996
2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)
2026-05-22T14:04:23.562487Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=24 elapsed=6.035809s
2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted
2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)
2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0
2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0
2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0
2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0
2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0
2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)
2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)
2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0
2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0
2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)
2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)
2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)
2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)
2026-05-22T14:09:33.786926Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=28 elapsed=6.384550083s
2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted
2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted
2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0
2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)
2026-05-22T14:12:10.464016Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=118 elapsed=1.079239583s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:14:43.042050Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=50 elapsed=3.636397916s
2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames
2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted
2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)
2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames
2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted
2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:24:32.462602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:24:37.549379Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)
2026-05-22T14:24:54.600747Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=23 elapsed=4.43952425s
2026-05-22T14:24:54.601633Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames
2026-05-22T14:24:55.602008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.7MB → 0.5MB (5.3x), 10 JPEGs deleted
2026-05-22T14:24:56.642375Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.4MB → 0.6MB (3.8x), 11 JPEGs deleted
2026-05-22T14:25:28.391554Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1
2026-05-22T14:25:30.815683Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-05-22T14:25:30.873825Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state obse...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)\n2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)\n2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)\n2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:47:01.445136Z WARN sqlx::query: summary=\"COMMIT\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.208017791s\n2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0\n2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0\n2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0\n2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0\n2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0\n2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)\n2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0\n2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0\n2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0\n2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0\n2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0\n2026-05-22T13:48:03.509264Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=116 elapsed=2.640436125s\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:48:46.815103Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=49 elapsed=4.025636458s\n2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted\n2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks\n2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0\n2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0\n2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:53:56.217432Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=73 elapsed=3.960102541s\n2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames\n2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted\n2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)\n2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0\n2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0\n2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)\n2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)\n2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)\n2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)\n2026-05-22T13:59:06.631961Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=95 elapsed=5.166274917s\n2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted\n2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted\n2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0\n2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)\n2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0\n2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0\n2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1\n2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0\n2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0\n2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0\n2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0\n2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0\n2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0\n2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0\n2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0\n2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0\n2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0\n2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0\n2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0\n2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0\n2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0\n2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0\n2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0\n2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985\n2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1\n2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0\n2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0\n2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0\n2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0\n2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0\n2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0\n2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)\n2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997\n2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0\n2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996\n2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)\n2026-05-22T14:04:23.562487Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=24 elapsed=6.035809s\n2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames\n2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted\n2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)\n2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0\n2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0\n2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0\n2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0\n2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0\n2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)\n2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)\n2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0\n2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0\n2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)\n2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)\n2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)\n2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)\n2026-05-22T14:09:33.786926Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=28 elapsed=6.384550083s\n2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted\n2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted\n2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0\n2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)\n2026-05-22T14:12:10.464016Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.079239583s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:14:43.042050Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=50 elapsed=3.636397916s\n2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted\n2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)\n2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted\n2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:24:32.462602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:37.549379Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-22T14:24:54.600747Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=23 elapsed=4.43952425s\n2026-05-22T14:24:54.601633Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-05-22T14:24:55.602008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.7MB → 0.5MB (5.3x), 10 JPEGs deleted\n2026-05-22T14:24:56.642375Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.4MB → 0.6MB (3.8x), 11 JPEGs deleted\n2026-05-22T14:25:28.391554Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-22T14:25:30.815683Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-22T14:25:30.873825Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-22T14:25:30.895223Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-22T14:25:31.011427Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1800 total_failed=0\n2026-05-22T14:25:31.041351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-05-22T14:25:31.072147Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-22T14:25:31.555379Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T14:25:32.955739Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-22T14:25:32.956016Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.301819Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302198Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302923Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T14:25:37.227488Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.172807333s\n2026-05-22T14:25:42.506390Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71094 paired=2 still_pending=0\n2026-05-22T14:25:47.526755Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 186.3ms elapsed (expected 5.3ms) → inserting 181.0ms silence (17373 samples)\n2026-05-22T14:25:51.569352Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71095 paired=1 still_pending=0\n2026-05-22T14:25:51.948223Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T14:25:54.996191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71096 paired=1 still_pending=3\n2026-05-22T14:26:04.719786Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71100 paired=2 still_pending=0\n2026-05-22T14:26:16.645139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71103 paired=2 still_pending=0\n2026-05-22T14:26:17.539794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71105 paired=1 still_pending=0\n2026-05-22T14:26:25.612324Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=121 elapsed=2.057079625s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:26:35.062506Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:26:38.338860Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71107 paired=2 still_pending=3\n2026-05-22T14:26:39.709291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=4 still_pending=0\n2026-05-22T14:26:41.199414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=1 still_pending=0\n2026-05-22T14:26:47.998207Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=4 pending_frames=4 total_pairs=1454 total_evicted=1802 total_failed=0\n2026-05-22T14:26:47.998406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71113 paired=1 still_pending=0\n2026-05-22T14:26:50.713519Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 94.9ms elapsed (expected 5.3ms) → inserting 89.6ms silence (8599 samples)\n2026-05-22T14:26:53.035157Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.9ms elapsed (expected 5.3ms) → inserting 81.6ms silence (7831 samples)\n2026-05-22T14:26:55.528246Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=5 pending_frames=2 total_pairs=1455 total_evicted=1805 total_failed=0\n2026-05-22T14:26:59.700021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71117 paired=1 still_pending=0\n2026-05-22T14:27:01.802403Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 150.4ms elapsed (expected 5.3ms) → inserting 145.1ms silence (13929 samples)\n2026-05-22T14:27:02.048529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 146.8ms elapsed (expected 5.3ms) → inserting 141.5ms silence (13580 samples)\n2026-05-22T14:27:02.634656Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.8ms elapsed (expected 5.3ms) → inserting 77.5ms silence (7441 samples)\n2026-05-22T14:27:08.244789Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71119 paired=1 still_pending=0\n2026-05-22T14:27:08.614218Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=15 pending_frames=2 total_pairs=1457 total_evicted=1806 total_failed=0\n2026-05-22T14:27:15.765277Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71122 paired=1 still_pending=0\n2026-05-22T14:27:17.627377Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71123 paired=1 still_pending=0\n2026-05-22T14:27:21.375727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71124 paired=1 still_pending=0\n2026-05-22T14:27:23.586009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71125 paired=1 still_pending=0\n2026-05-22T14:27:25.353137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71126 paired=1 still_pending=0\n2026-05-22T14:27:26.520746Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71127 paired=1 still_pending=0\n2026-05-22T14:27:29.515388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71128 paired=1 still_pending=0\n2026-05-22T14:27:32.139022Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71129 paired=1 still_pending=0\n2026-05-22T14:27:32.351320Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71130 paired=13 still_pending=8\n2026-05-22T14:27:37.736017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71133 paired=1 still_pending=0\n2026-05-22T14:27:39.031942Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=3 total_pairs=1479 total_evicted=1807 total_failed=0\n2026-05-22T14:27:43.869199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=2 total_pairs=1479 total_evicted=1809 total_failed=0\n2026-05-22T14:27:43.869392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71135 paired=1 still_pending=0\n2026-05-22T14:27:46.171511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71139 paired=1 still_pending=0\n2026-05-22T14:27:47.332190Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71141 paired=1 still_pending=0\n2026-05-22T14:27:49.492186Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71143 paired=1 still_pending=0\n2026-05-22T14:27:50.501416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71145 paired=1 still_pending=0\n2026-05-22T14:27:53.223291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71146 paired=1 still_pending=0\n2026-05-22T14:27:54.647434Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=7 total_pairs=1485 total_evicted=1811 total_failed=0\n2026-05-22T14:27:54.647867Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71148 paired=1 still_pending=0\n2026-05-22T14:27:55.800836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71150 paired=1 still_pending=0\n2026-05-22T14:27:59.963088Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=13 pending_frames=9 total_pairs=1487 total_evicted=1813 total_failed=0\n2026-05-22T14:28:02.216252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71152 paired=1 still_pending=0\n2026-05-22T14:28:08.799963Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71154 paired=1 still_pending=0\n2026-05-22T14:28:10.022618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71156 paired=1 still_pending=0\n2026-05-22T14:28:10.656006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71158 paired=1 still_pending=0\n2026-05-22T14:28:11.697532Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71159 paired=1 still_pending=0\n2026-05-22T14:28:13.111942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71160 paired=1 still_pending=0\n2026-05-22T14:28:14.231456Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=15 pending_frames=12 total_pairs=1493 total_evicted=1815 total_failed=0\n2026-05-22T14:28:14.231530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71161 paired=1 still_pending=0\n2026-05-22T14:28:16.814829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71163 paired=1 still_pending=0\n2026-05-22T14:28:17.782934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71165 paired=1 still_pending=0\n2026-05-22T14:28:19.653659Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71166 paired=1 still_pending=0\n2026-05-22T14:28:20.842891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71167 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T14:28:28.459283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71169 paired=1 still_pending=0\n2026-05-22T14:28:29.543836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71171 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:28:35.224354Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:28:40.949646Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=16 pending_frames=14 total_pairs=1500 total_evicted=1819 total_failed=0\n2026-05-22T14:28:40.967460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71173 paired=1 still_pending=0\n2026-05-22T14:28:43.559656Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71174 paired=1 still_pending=0\n2026-05-22T14:28:47.563682Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71177 paired=1 still_pending=0\n2026-05-22T14:28:48.732684Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=15 pending_frames=13 total_pairs=1503 total_evicted=1826 total_failed=0\n2026-05-22T14:28:51.100950Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 120.6ms elapsed (expected 5.3ms) → inserting 115.3ms silence (11065 samples)\n2026-05-22T14:28:53.664779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=15 pending_frames=11 total_pairs=1503 total_evicted=1829 total_failed=0\n2026-05-22T14:28:53.665107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71178 paired=1 still_pending=0\n2026-05-22T14:29:09.557244Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=8 pending_frames=7 total_pairs=1504 total_evicted=1840 total_failed=0\n2026-05-22T14:29:09.557642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71180 paired=1 still_pending=0\n2026-05-22T14:29:09.922481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.049361Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71181 paired=1 still_pending=0\n2026-05-22T14:29:12.052294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=2 still_pending=4\n2026-05-22T14:29:12.256384Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.415587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:13.568626Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=1 still_pending=0\n2026-05-22T14:29:13.617586Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=6 pending_frames=8 total_pairs=1509 total_evicted=1841 total_failed=0\n2026-05-22T14:29:17.830831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71185 paired=1 still_pending=0\n2026-05-22T14:29:18.617477Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=7 pending_frames=7 total_pairs=1510 total_evicted=1846 total_failed=0\n2026-05-22T14:29:18.977788Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 98.9ms elapsed (expected 5.3ms) → inserting 93.5ms silence (8979 samples)\n2026-05-22T14:29:25.235398Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=6 pending_frames=6 total_pairs=1510 total_evicted=1848 total_failed=0\n2026-05-22T14:29:25.235728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71188 paired=1 still_pending=0\n2026-05-22T14:29:28.896643Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1511 total_evicted=1849 total_failed=0\n2026-05-22T14:29:30.950594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1574809818300579953, trigger=visual_change)\n2026-05-22T14:29:31.780076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71192 paired=2 still_pending=0\n2026-05-22T14:29:32.670962Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71193 paired=1 still_pending=0\n2026-05-22T14:29:33.362313Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71194 paired=1 still_pending=0\n2026-05-22T14:29:34.261823Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71195 paired=1 still_pending=0\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alia sp-start \nzsh: command not found: alia\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n6.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.346\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T09:31:02.067706Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T09:31:02.688632Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T09:31:02.690317Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T09:31:02.690655Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T09:31:02.710847Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T09:31:02.710954Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T09:31:03.088283Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T09:31:03.088271Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T09:31:03.088338Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T09:31:03.088441Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T09:31:03.088510Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T09:31:03.092088Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T09:31:03.092320Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T09:31:03.092785Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T09:31:03.092866Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T09:31:03.092942Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T09:31:03.093029Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T09:31:03.093042Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T09:31:03.093822Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T09:31:03.094123Z INFO screenpipe: starting UI event capture\n2026-05-26T09:31:03.097737Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T09:31:03.102328Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T09:31:03.121802Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T09:31:03.122210Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122223Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122380Z INFO screenpipe_engine::ui_recorder: UI recording session started: 70b021ee-633e-452a-beee-018e5e9e0154\n2026-05-26T09:31:03.122499Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T09:31:03.122532Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 06:31:03.122531 UTC to 2026-05-26 06:31:03.122531 UTC)\n2026-05-26T09:31:03.129063Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T09:31:03.129324Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-05-25 06:31:03.122531 UTC\n2026-05-26T09:31:03.130434Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T09:31:03.138137Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T09:31:03.233929Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T09:31:03.233956Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.233979Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.279452Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T09:31:03.279482Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.279494Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T09:31:03.279504Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T09:31:03.279518Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.902920Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-26T09:31:04.015905Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T09:31:04.083586Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=71196, dur=79ms\n2026-05-26T09:31:04.121596Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=71197, dur=73ms\n2026-05-26T09:31:04.122653Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-26T09:31:12.673275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4456630385270008726, trigger=visual_change)\n2026-05-26T09:31:13.096778Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-26T09:31:13.099373Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-26T09:31:13.099500Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-26T09:31:13.099519Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 0.049 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-26T09:31:13.246182Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-26T09:31:13.250810Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-26T09:31:13.251051Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-26T09:31:13.252080Z INFO screenpipe_audio::audio_manager::manager: seeded 62 speakers (named + unnamed) from DB into embedding manager\n2026-05-26T09:31:13.252116Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-26T09:31:13.252139Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-26T09:31:13.701895Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-26T09:31:13.748252Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-26T09:31:13.748323Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-26T09:31:13.748351Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-26T09:31:14.972187Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71199 paired=2 still_pending=0\n2026-05-26T09:31:15.761184Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4958587055304279033, trigger=visual_change)\n2026-05-26T09:31:19.169835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71200 paired=2 still_pending=0\n2026-05-26T09:31:23.595001Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T09:31:29.305688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71203 paired=1 still_pending=0\n2026-05-26T09:31:30.703431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71206 paired=1 still_pending=0\n2026-05-26T09:31:34.672566Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71207 paired=1 still_pending=0\n2026-05-26T09:31:35.886788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71208 paired=1 still_pending=0\n2026-05-26T09:31:36.640059Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71209 paired=1 still_pending=0\n2026-05-26T09:31:37.618724Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71210 paired=1 still_pending=0\n2026-05-26T09:31:40.805690Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71211 paired=1 still_pending=0\n2026-05-26T09:31:42.264174Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71213 paired=1 still_pending=0\n2026-05-26T09:31:48.462998Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71215 paired=1 still_pending=0","depth":4,"on_screen":true,"value":"2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)\n2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)\n2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)\n2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:47:01.445136Z WARN sqlx::query: summary=\"COMMIT\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.208017791s\n2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0\n2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0\n2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0\n2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0\n2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0\n2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)\n2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0\n2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0\n2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0\n2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0\n2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0\n2026-05-22T13:48:03.509264Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=116 elapsed=2.640436125s\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:48:46.815103Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=49 elapsed=4.025636458s\n2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted\n2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks\n2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0\n2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0\n2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:53:56.217432Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=73 elapsed=3.960102541s\n2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames\n2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted\n2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)\n2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0\n2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0\n2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)\n2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)\n2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)\n2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)\n2026-05-22T13:59:06.631961Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=95 elapsed=5.166274917s\n2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted\n2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted\n2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0\n2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)\n2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0\n2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0\n2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1\n2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0\n2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0\n2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0\n2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0\n2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0\n2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0\n2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0\n2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0\n2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0\n2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0\n2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0\n2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0\n2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0\n2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0\n2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0\n2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0\n2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985\n2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1\n2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0\n2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0\n2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0\n2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0\n2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0\n2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0\n2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)\n2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997\n2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0\n2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996\n2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)\n2026-05-22T14:04:23.562487Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=24 elapsed=6.035809s\n2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames\n2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted\n2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)\n2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0\n2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0\n2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0\n2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0\n2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0\n2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)\n2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)\n2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0\n2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0\n2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)\n2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)\n2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)\n2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)\n2026-05-22T14:09:33.786926Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=28 elapsed=6.384550083s\n2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted\n2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted\n2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0\n2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)\n2026-05-22T14:12:10.464016Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.079239583s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:14:43.042050Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=50 elapsed=3.636397916s\n2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted\n2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)\n2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted\n2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:24:32.462602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:37.549379Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-22T14:24:54.600747Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=23 elapsed=4.43952425s\n2026-05-22T14:24:54.601633Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-05-22T14:24:55.602008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.7MB → 0.5MB (5.3x), 10 JPEGs deleted\n2026-05-22T14:24:56.642375Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.4MB → 0.6MB (3.8x), 11 JPEGs deleted\n2026-05-22T14:25:28.391554Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-22T14:25:30.815683Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-22T14:25:30.873825Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-22T14:25:30.895223Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-22T14:25:31.011427Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1800 total_failed=0\n2026-05-22T14:25:31.041351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-05-22T14:25:31.072147Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-22T14:25:31.555379Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T14:25:32.955739Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-22T14:25:32.956016Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.301819Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302198Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302923Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T14:25:37.227488Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.172807333s\n2026-05-22T14:25:42.506390Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71094 paired=2 still_pending=0\n2026-05-22T14:25:47.526755Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 186.3ms elapsed (expected 5.3ms) → inserting 181.0ms silence (17373 samples)\n2026-05-22T14:25:51.569352Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71095 paired=1 still_pending=0\n2026-05-22T14:25:51.948223Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T14:25:54.996191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71096 paired=1 still_pending=3\n2026-05-22T14:26:04.719786Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71100 paired=2 still_pending=0\n2026-05-22T14:26:16.645139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71103 paired=2 still_pending=0\n2026-05-22T14:26:17.539794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71105 paired=1 still_pending=0\n2026-05-22T14:26:25.612324Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=121 elapsed=2.057079625s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:26:35.062506Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:26:38.338860Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71107 paired=2 still_pending=3\n2026-05-22T14:26:39.709291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=4 still_pending=0\n2026-05-22T14:26:41.199414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=1 still_pending=0\n2026-05-22T14:26:47.998207Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=4 pending_frames=4 total_pairs=1454 total_evicted=1802 total_failed=0\n2026-05-22T14:26:47.998406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71113 paired=1 still_pending=0\n2026-05-22T14:26:50.713519Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 94.9ms elapsed (expected 5.3ms) → inserting 89.6ms silence (8599 samples)\n2026-05-22T14:26:53.035157Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.9ms elapsed (expected 5.3ms) → inserting 81.6ms silence (7831 samples)\n2026-05-22T14:26:55.528246Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=5 pending_frames=2 total_pairs=1455 total_evicted=1805 total_failed=0\n2026-05-22T14:26:59.700021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71117 paired=1 still_pending=0\n2026-05-22T14:27:01.802403Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 150.4ms elapsed (expected 5.3ms) → inserting 145.1ms silence (13929 samples)\n2026-05-22T14:27:02.048529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 146.8ms elapsed (expected 5.3ms) → inserting 141.5ms silence (13580 samples)\n2026-05-22T14:27:02.634656Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.8ms elapsed (expected 5.3ms) → inserting 77.5ms silence (7441 samples)\n2026-05-22T14:27:08.244789Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71119 paired=1 still_pending=0\n2026-05-22T14:27:08.614218Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=15 pending_frames=2 total_pairs=1457 total_evicted=1806 total_failed=0\n2026-05-22T14:27:15.765277Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71122 paired=1 still_pending=0\n2026-05-22T14:27:17.627377Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71123 paired=1 still_pending=0\n2026-05-22T14:27:21.375727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71124 paired=1 still_pending=0\n2026-05-22T14:27:23.586009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71125 paired=1 still_pending=0\n2026-05-22T14:27:25.353137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71126 paired=1 still_pending=0\n2026-05-22T14:27:26.520746Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71127 paired=1 still_pending=0\n2026-05-22T14:27:29.515388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71128 paired=1 still_pending=0\n2026-05-22T14:27:32.139022Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71129 paired=1 still_pending=0\n2026-05-22T14:27:32.351320Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71130 paired=13 still_pending=8\n2026-05-22T14:27:37.736017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71133 paired=1 still_pending=0\n2026-05-22T14:27:39.031942Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=3 total_pairs=1479 total_evicted=1807 total_failed=0\n2026-05-22T14:27:43.869199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=2 total_pairs=1479 total_evicted=1809 total_failed=0\n2026-05-22T14:27:43.869392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71135 paired=1 still_pending=0\n2026-05-22T14:27:46.171511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71139 paired=1 still_pending=0\n2026-05-22T14:27:47.332190Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71141 paired=1 still_pending=0\n2026-05-22T14:27:49.492186Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71143 paired=1 still_pending=0\n2026-05-22T14:27:50.501416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71145 paired=1 still_pending=0\n2026-05-22T14:27:53.223291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71146 paired=1 still_pending=0\n2026-05-22T14:27:54.647434Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=7 total_pairs=1485 total_evicted=1811 total_failed=0\n2026-05-22T14:27:54.647867Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71148 paired=1 still_pending=0\n2026-05-22T14:27:55.800836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71150 paired=1 still_pending=0\n2026-05-22T14:27:59.963088Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=13 pending_frames=9 total_pairs=1487 total_evicted=1813 total_failed=0\n2026-05-22T14:28:02.216252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71152 paired=1 still_pending=0\n2026-05-22T14:28:08.799963Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71154 paired=1 still_pending=0\n2026-05-22T14:28:10.022618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71156 paired=1 still_pending=0\n2026-05-22T14:28:10.656006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71158 paired=1 still_pending=0\n2026-05-22T14:28:11.697532Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71159 paired=1 still_pending=0\n2026-05-22T14:28:13.111942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71160 paired=1 still_pending=0\n2026-05-22T14:28:14.231456Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=15 pending_frames=12 total_pairs=1493 total_evicted=1815 total_failed=0\n2026-05-22T14:28:14.231530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71161 paired=1 still_pending=0\n2026-05-22T14:28:16.814829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71163 paired=1 still_pending=0\n2026-05-22T14:28:17.782934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71165 paired=1 still_pending=0\n2026-05-22T14:28:19.653659Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71166 paired=1 still_pending=0\n2026-05-22T14:28:20.842891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71167 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T14:28:28.459283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71169 paired=1 still_pending=0\n2026-05-22T14:28:29.543836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71171 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:28:35.224354Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:28:40.949646Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=16 pending_frames=14 total_pairs=1500 total_evicted=1819 total_failed=0\n2026-05-22T14:28:40.967460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71173 paired=1 still_pending=0\n2026-05-22T14:28:43.559656Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71174 paired=1 still_pending=0\n2026-05-22T14:28:47.563682Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71177 paired=1 still_pending=0\n2026-05-22T14:28:48.732684Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=15 pending_frames=13 total_pairs=1503 total_evicted=1826 total_failed=0\n2026-05-22T14:28:51.100950Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 120.6ms elapsed (expected 5.3ms) → inserting 115.3ms silence (11065 samples)\n2026-05-22T14:28:53.664779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=15 pending_frames=11 total_pairs=1503 total_evicted=1829 total_failed=0\n2026-05-22T14:28:53.665107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71178 paired=1 still_pending=0\n2026-05-22T14:29:09.557244Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=8 pending_frames=7 total_pairs=1504 total_evicted=1840 total_failed=0\n2026-05-22T14:29:09.557642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71180 paired=1 still_pending=0\n2026-05-22T14:29:09.922481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.049361Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71181 paired=1 still_pending=0\n2026-05-22T14:29:12.052294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=2 still_pending=4\n2026-05-22T14:29:12.256384Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.415587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:13.568626Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=1 still_pending=0\n2026-05-22T14:29:13.617586Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=6 pending_frames=8 total_pairs=1509 total_evicted=1841 total_failed=0\n2026-05-22T14:29:17.830831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71185 paired=1 still_pending=0\n2026-05-22T14:29:18.617477Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=7 pending_frames=7 total_pairs=1510 total_evicted=1846 total_failed=0\n2026-05-22T14:29:18.977788Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 98.9ms elapsed (expected 5.3ms) → inserting 93.5ms silence (8979 samples)\n2026-05-22T14:29:25.235398Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=6 pending_frames=6 total_pairs=1510 total_evicted=1848 total_failed=0\n2026-05-22T14:29:25.235728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71188 paired=1 still_pending=0\n2026-05-22T14:29:28.896643Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1511 total_evicted=1849 total_failed=0\n2026-05-22T14:29:30.950594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1574809818300579953, trigger=visual_change)\n2026-05-22T14:29:31.780076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71192 paired=2 still_pending=0\n2026-05-22T14:29:32.670962Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71193 paired=1 still_pending=0\n2026-05-22T14:29:33.362313Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71194 paired=1 still_pending=0\n2026-05-22T14:29:34.261823Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71195 paired=1 still_pending=0\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alia sp-start \nzsh: command not found: alia\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n6.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.346\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T09:31:02.067706Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T09:31:02.688632Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T09:31:02.690317Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T09:31:02.690655Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T09:31:02.710847Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T09:31:02.710954Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T09:31:03.088283Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T09:31:03.088271Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T09:31:03.088338Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T09:31:03.088441Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T09:31:03.088510Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T09:31:03.092088Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T09:31:03.092320Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T09:31:03.092785Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T09:31:03.092866Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T09:31:03.092942Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T09:31:03.093029Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T09:31:03.093042Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T09:31:03.093822Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T09:31:03.094123Z INFO screenpipe: starting UI event capture\n2026-05-26T09:31:03.097737Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T09:31:03.102328Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T09:31:03.121802Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T09:31:03.122210Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122223Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122380Z INFO screenpipe_engine::ui_recorder: UI recording session started: 70b021ee-633e-452a-beee-018e5e9e0154\n2026-05-26T09:31:03.122499Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T09:31:03.122532Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 06:31:03.122531 UTC to 2026-05-26 06:31:03.122531 UTC)\n2026-05-26T09:31:03.129063Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T09:31:03.129324Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-05-25 06:31:03.122531 UTC\n2026-05-26T09:31:03.130434Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T09:31:03.138137Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T09:31:03.233929Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T09:31:03.233956Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.233979Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.279452Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T09:31:03.279482Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.279494Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T09:31:03.279504Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T09:31:03.279518Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.902920Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-26T09:31:04.015905Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T09:31:04.083586Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=71196, dur=79ms\n2026-05-26T09:31:04.121596Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=71197, dur=73ms\n2026-05-26T09:31:04.122653Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-26T09:31:12.673275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4456630385270008726, trigger=visual_change)\n2026-05-26T09:31:13.096778Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-26T09:31:13.099373Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-26T09:31:13.099500Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-26T09:31:13.099519Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 0.049 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-26T09:31:13.246182Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-26T09:31:13.250810Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-26T09:31:13.251051Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-26T09:31:13.252080Z INFO screenpipe_audio::audio_manager::manager: seeded 62 speakers (named + unnamed) from DB into embedding manager\n2026-05-26T09:31:13.252116Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-26T09:31:13.252139Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-26T09:31:13.701895Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-26T09:31:13.748252Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-26T09:31:13.748323Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-26T09:31:13.748351Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-26T09:31:14.972187Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71199 paired=2 still_pending=0\n2026-05-26T09:31:15.761184Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4958587055304279033, trigger=visual_change)\n2026-05-26T09:31:19.169835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71200 paired=2 still_pending=0\n2026-05-26T09:31:23.595001Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T09:31:29.305688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71203 paired=1 still_pending=0\n2026-05-26T09:31:30.703431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71206 paired=1 still_pending=0\n2026-05-26T09:31:34.672566Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71207 paired=1 still_pending=0\n2026-05-26T09:31:35.886788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71208 paired=1 still_pending=0\n2026-05-26T09:31:36.640059Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71209 paired=1 still_pending=0\n2026-05-26T09:31:37.618724Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71210 paired=1 still_pending=0\n2026-05-26T09:31:40.805690Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71211 paired=1 still_pending=0\n2026-05-26T09:31:42.264174Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71213 paired=1 still_pending=0\n2026-05-26T09:31:48.462998Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71215 paired=1 still_pending=0","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.26894948,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27094415,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.36336437,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.36535904,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.45777926,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.45977393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5521942,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.55418885,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.64660907,"top":1.0,"width":0.0944149,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.64860374,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4950133,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-1424526161407021544
|
-5427308935470221855
|
click
|
accessibility
|
NULL
|
2026-05-22T13:46:57.771304Z INFO screenpipe_engin 2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)
2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)
2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)
2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:47:01.445136Z WARN sqlx::query: summary="COMMIT" db.statement="" rows_affected=1 rows_returned=0 elapsed=1.208017791s
2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0
2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0
2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0
2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0
2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0
2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)
2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0
2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0
2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0
2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0
2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0
2026-05-22T13:48:03.509264Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=116 elapsed=2.640436125s
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:48:46.815103Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=49 elapsed=4.025636458s
2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames
2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted
2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks
2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0
2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0
2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:53:56.217432Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=73 elapsed=3.960102541s
2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames
2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted
2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)
2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0
2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0
2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)
2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)
2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)
2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)
2026-05-22T13:59:06.631961Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=95 elapsed=5.166274917s
2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted
2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted
2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0
2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)
2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0
2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0
2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1
2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0
2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0
2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0
2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0
2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0
2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0
2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0
2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0
2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0
2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0
2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0
2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0
2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0
2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0
2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0
2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0
2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985
2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1
2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0
2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0
2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0
2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0
2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0
2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0
2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)
2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997
2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0
2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996
2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)
2026-05-22T14:04:23.562487Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=24 elapsed=6.035809s
2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted
2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)
2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0
2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0
2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0
2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0
2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0
2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)
2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)
2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0
2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0
2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)
2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)
2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)
2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)
2026-05-22T14:09:33.786926Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=28 elapsed=6.384550083s
2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted
2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted
2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0
2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)
2026-05-22T14:12:10.464016Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=118 elapsed=1.079239583s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:14:43.042050Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=50 elapsed=3.636397916s
2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames
2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted
2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)
2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames
2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted
2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:24:32.462602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:24:37.549379Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)
2026-05-22T14:24:54.600747Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=23 elapsed=4.43952425s
2026-05-22T14:24:54.601633Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames
2026-05-22T14:24:55.602008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.7MB → 0.5MB (5.3x), 10 JPEGs deleted
2026-05-22T14:24:56.642375Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.4MB → 0.6MB (3.8x), 11 JPEGs deleted
2026-05-22T14:25:28.391554Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1
2026-05-22T14:25:30.815683Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-05-22T14:25:30.873825Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state obse...
|
71216
|
NULL
|
NULL
|
NULL
|
|
71218
|
2558
|
6
|
2026-05-26T06:31:49.026301+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-26/1779 /Users/lukas/.screenpipe/data/data/2026-05-26/1779777109026_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-05-22T13:46:57.771304Z INFO screenpipe_engin 2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)
2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)
2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)
2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:47:01.445136Z WARN sqlx::query: summary="COMMIT" db.statement="" rows_affected=1 rows_returned=0 elapsed=1.208017791s
2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0
2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0
2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0
2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0
2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0
2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)
2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0
2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0
2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0
2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0
2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0
2026-05-22T13:48:03.509264Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=116 elapsed=2.640436125s
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:48:46.815103Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=49 elapsed=4.025636458s
2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames
2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted
2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks
2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0
2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0
2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:53:56.217432Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=73 elapsed=3.960102541s
2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames
2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted
2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)
2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0
2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0
2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)
2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)
2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)
2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)
2026-05-22T13:59:06.631961Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=95 elapsed=5.166274917s
2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted
2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted
2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0
2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)
2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0
2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0
2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1
2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0
2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0
2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0
2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0
2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0
2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0
2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0
2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0
2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0
2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0
2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0
2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0
2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0
2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0
2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0
2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0
2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985
2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1
2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0
2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0
2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0
2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0
2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0
2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0
2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)
2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997
2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0
2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996
2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)
2026-05-22T14:04:23.562487Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=24 elapsed=6.035809s
2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted
2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)
2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0
2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0
2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0
2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0
2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0
2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)
2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)
2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0
2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0
2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)
2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)
2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)
2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)
2026-05-22T14:09:33.786926Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=28 elapsed=6.384550083s
2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted
2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted
2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0
2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)
2026-05-22T14:12:10.464016Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=118 elapsed=1.079239583s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:14:43.042050Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=50 elapsed=3.636397916s
2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames
2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted
2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)
2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames
2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted
2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:24:32.462602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:24:37.549379Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)
2026-05-22T14:24:54.600747Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=23 elapsed=4.43952425s
2026-05-22T14:24:54.601633Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames
2026-05-22T14:24:55.602008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.7MB → 0.5MB (5.3x), 10 JPEGs deleted
2026-05-22T14:24:56.642375Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.4MB → 0.6MB (3.8x), 11 JPEGs deleted
2026-05-22T14:25:28.391554Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1
2026-05-22T14:25:30.815683Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-05-22T14:25:30.873825Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state obse...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)\n2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)\n2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)\n2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:47:01.445136Z WARN sqlx::query: summary=\"COMMIT\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.208017791s\n2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0\n2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0\n2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0\n2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0\n2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0\n2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)\n2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0\n2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0\n2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0\n2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0\n2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0\n2026-05-22T13:48:03.509264Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=116 elapsed=2.640436125s\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:48:46.815103Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=49 elapsed=4.025636458s\n2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted\n2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks\n2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0\n2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0\n2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:53:56.217432Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=73 elapsed=3.960102541s\n2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames\n2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted\n2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)\n2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0\n2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0\n2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)\n2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)\n2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)\n2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)\n2026-05-22T13:59:06.631961Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=95 elapsed=5.166274917s\n2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted\n2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted\n2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0\n2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)\n2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0\n2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0\n2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1\n2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0\n2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0\n2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0\n2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0\n2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0\n2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0\n2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0\n2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0\n2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0\n2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0\n2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0\n2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0\n2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0\n2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0\n2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0\n2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0\n2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985\n2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1\n2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0\n2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0\n2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0\n2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0\n2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0\n2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0\n2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)\n2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997\n2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0\n2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996\n2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)\n2026-05-22T14:04:23.562487Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=24 elapsed=6.035809s\n2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames\n2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted\n2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)\n2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0\n2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0\n2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0\n2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0\n2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0\n2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)\n2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)\n2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0\n2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0\n2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)\n2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)\n2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)\n2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)\n2026-05-22T14:09:33.786926Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=28 elapsed=6.384550083s\n2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted\n2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted\n2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0\n2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)\n2026-05-22T14:12:10.464016Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.079239583s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:14:43.042050Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=50 elapsed=3.636397916s\n2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted\n2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)\n2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted\n2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:24:32.462602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:37.549379Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-22T14:24:54.600747Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=23 elapsed=4.43952425s\n2026-05-22T14:24:54.601633Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-05-22T14:24:55.602008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.7MB → 0.5MB (5.3x), 10 JPEGs deleted\n2026-05-22T14:24:56.642375Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.4MB → 0.6MB (3.8x), 11 JPEGs deleted\n2026-05-22T14:25:28.391554Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-22T14:25:30.815683Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-22T14:25:30.873825Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-22T14:25:30.895223Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-22T14:25:31.011427Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1800 total_failed=0\n2026-05-22T14:25:31.041351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-05-22T14:25:31.072147Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-22T14:25:31.555379Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T14:25:32.955739Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-22T14:25:32.956016Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.301819Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302198Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302923Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T14:25:37.227488Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.172807333s\n2026-05-22T14:25:42.506390Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71094 paired=2 still_pending=0\n2026-05-22T14:25:47.526755Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 186.3ms elapsed (expected 5.3ms) → inserting 181.0ms silence (17373 samples)\n2026-05-22T14:25:51.569352Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71095 paired=1 still_pending=0\n2026-05-22T14:25:51.948223Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T14:25:54.996191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71096 paired=1 still_pending=3\n2026-05-22T14:26:04.719786Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71100 paired=2 still_pending=0\n2026-05-22T14:26:16.645139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71103 paired=2 still_pending=0\n2026-05-22T14:26:17.539794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71105 paired=1 still_pending=0\n2026-05-22T14:26:25.612324Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=121 elapsed=2.057079625s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:26:35.062506Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:26:38.338860Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71107 paired=2 still_pending=3\n2026-05-22T14:26:39.709291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=4 still_pending=0\n2026-05-22T14:26:41.199414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=1 still_pending=0\n2026-05-22T14:26:47.998207Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=4 pending_frames=4 total_pairs=1454 total_evicted=1802 total_failed=0\n2026-05-22T14:26:47.998406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71113 paired=1 still_pending=0\n2026-05-22T14:26:50.713519Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 94.9ms elapsed (expected 5.3ms) → inserting 89.6ms silence (8599 samples)\n2026-05-22T14:26:53.035157Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.9ms elapsed (expected 5.3ms) → inserting 81.6ms silence (7831 samples)\n2026-05-22T14:26:55.528246Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=5 pending_frames=2 total_pairs=1455 total_evicted=1805 total_failed=0\n2026-05-22T14:26:59.700021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71117 paired=1 still_pending=0\n2026-05-22T14:27:01.802403Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 150.4ms elapsed (expected 5.3ms) → inserting 145.1ms silence (13929 samples)\n2026-05-22T14:27:02.048529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 146.8ms elapsed (expected 5.3ms) → inserting 141.5ms silence (13580 samples)\n2026-05-22T14:27:02.634656Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.8ms elapsed (expected 5.3ms) → inserting 77.5ms silence (7441 samples)\n2026-05-22T14:27:08.244789Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71119 paired=1 still_pending=0\n2026-05-22T14:27:08.614218Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=15 pending_frames=2 total_pairs=1457 total_evicted=1806 total_failed=0\n2026-05-22T14:27:15.765277Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71122 paired=1 still_pending=0\n2026-05-22T14:27:17.627377Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71123 paired=1 still_pending=0\n2026-05-22T14:27:21.375727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71124 paired=1 still_pending=0\n2026-05-22T14:27:23.586009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71125 paired=1 still_pending=0\n2026-05-22T14:27:25.353137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71126 paired=1 still_pending=0\n2026-05-22T14:27:26.520746Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71127 paired=1 still_pending=0\n2026-05-22T14:27:29.515388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71128 paired=1 still_pending=0\n2026-05-22T14:27:32.139022Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71129 paired=1 still_pending=0\n2026-05-22T14:27:32.351320Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71130 paired=13 still_pending=8\n2026-05-22T14:27:37.736017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71133 paired=1 still_pending=0\n2026-05-22T14:27:39.031942Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=3 total_pairs=1479 total_evicted=1807 total_failed=0\n2026-05-22T14:27:43.869199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=2 total_pairs=1479 total_evicted=1809 total_failed=0\n2026-05-22T14:27:43.869392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71135 paired=1 still_pending=0\n2026-05-22T14:27:46.171511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71139 paired=1 still_pending=0\n2026-05-22T14:27:47.332190Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71141 paired=1 still_pending=0\n2026-05-22T14:27:49.492186Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71143 paired=1 still_pending=0\n2026-05-22T14:27:50.501416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71145 paired=1 still_pending=0\n2026-05-22T14:27:53.223291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71146 paired=1 still_pending=0\n2026-05-22T14:27:54.647434Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=7 total_pairs=1485 total_evicted=1811 total_failed=0\n2026-05-22T14:27:54.647867Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71148 paired=1 still_pending=0\n2026-05-22T14:27:55.800836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71150 paired=1 still_pending=0\n2026-05-22T14:27:59.963088Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=13 pending_frames=9 total_pairs=1487 total_evicted=1813 total_failed=0\n2026-05-22T14:28:02.216252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71152 paired=1 still_pending=0\n2026-05-22T14:28:08.799963Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71154 paired=1 still_pending=0\n2026-05-22T14:28:10.022618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71156 paired=1 still_pending=0\n2026-05-22T14:28:10.656006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71158 paired=1 still_pending=0\n2026-05-22T14:28:11.697532Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71159 paired=1 still_pending=0\n2026-05-22T14:28:13.111942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71160 paired=1 still_pending=0\n2026-05-22T14:28:14.231456Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=15 pending_frames=12 total_pairs=1493 total_evicted=1815 total_failed=0\n2026-05-22T14:28:14.231530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71161 paired=1 still_pending=0\n2026-05-22T14:28:16.814829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71163 paired=1 still_pending=0\n2026-05-22T14:28:17.782934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71165 paired=1 still_pending=0\n2026-05-22T14:28:19.653659Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71166 paired=1 still_pending=0\n2026-05-22T14:28:20.842891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71167 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T14:28:28.459283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71169 paired=1 still_pending=0\n2026-05-22T14:28:29.543836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71171 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:28:35.224354Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:28:40.949646Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=16 pending_frames=14 total_pairs=1500 total_evicted=1819 total_failed=0\n2026-05-22T14:28:40.967460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71173 paired=1 still_pending=0\n2026-05-22T14:28:43.559656Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71174 paired=1 still_pending=0\n2026-05-22T14:28:47.563682Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71177 paired=1 still_pending=0\n2026-05-22T14:28:48.732684Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=15 pending_frames=13 total_pairs=1503 total_evicted=1826 total_failed=0\n2026-05-22T14:28:51.100950Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 120.6ms elapsed (expected 5.3ms) → inserting 115.3ms silence (11065 samples)\n2026-05-22T14:28:53.664779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=15 pending_frames=11 total_pairs=1503 total_evicted=1829 total_failed=0\n2026-05-22T14:28:53.665107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71178 paired=1 still_pending=0\n2026-05-22T14:29:09.557244Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=8 pending_frames=7 total_pairs=1504 total_evicted=1840 total_failed=0\n2026-05-22T14:29:09.557642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71180 paired=1 still_pending=0\n2026-05-22T14:29:09.922481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.049361Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71181 paired=1 still_pending=0\n2026-05-22T14:29:12.052294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=2 still_pending=4\n2026-05-22T14:29:12.256384Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.415587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:13.568626Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=1 still_pending=0\n2026-05-22T14:29:13.617586Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=6 pending_frames=8 total_pairs=1509 total_evicted=1841 total_failed=0\n2026-05-22T14:29:17.830831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71185 paired=1 still_pending=0\n2026-05-22T14:29:18.617477Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=7 pending_frames=7 total_pairs=1510 total_evicted=1846 total_failed=0\n2026-05-22T14:29:18.977788Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 98.9ms elapsed (expected 5.3ms) → inserting 93.5ms silence (8979 samples)\n2026-05-22T14:29:25.235398Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=6 pending_frames=6 total_pairs=1510 total_evicted=1848 total_failed=0\n2026-05-22T14:29:25.235728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71188 paired=1 still_pending=0\n2026-05-22T14:29:28.896643Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1511 total_evicted=1849 total_failed=0\n2026-05-22T14:29:30.950594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1574809818300579953, trigger=visual_change)\n2026-05-22T14:29:31.780076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71192 paired=2 still_pending=0\n2026-05-22T14:29:32.670962Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71193 paired=1 still_pending=0\n2026-05-22T14:29:33.362313Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71194 paired=1 still_pending=0\n2026-05-22T14:29:34.261823Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71195 paired=1 still_pending=0\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alia sp-start \nzsh: command not found: alia\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n6.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.346\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T09:31:02.067706Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T09:31:02.688632Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T09:31:02.690317Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T09:31:02.690655Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T09:31:02.710847Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T09:31:02.710954Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T09:31:03.088283Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T09:31:03.088271Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T09:31:03.088338Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T09:31:03.088441Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T09:31:03.088510Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T09:31:03.092088Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T09:31:03.092320Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T09:31:03.092785Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T09:31:03.092866Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T09:31:03.092942Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T09:31:03.093029Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T09:31:03.093042Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T09:31:03.093822Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T09:31:03.094123Z INFO screenpipe: starting UI event capture\n2026-05-26T09:31:03.097737Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T09:31:03.102328Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T09:31:03.121802Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T09:31:03.122210Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122223Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122380Z INFO screenpipe_engine::ui_recorder: UI recording session started: 70b021ee-633e-452a-beee-018e5e9e0154\n2026-05-26T09:31:03.122499Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T09:31:03.122532Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 06:31:03.122531 UTC to 2026-05-26 06:31:03.122531 UTC)\n2026-05-26T09:31:03.129063Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T09:31:03.129324Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-05-25 06:31:03.122531 UTC\n2026-05-26T09:31:03.130434Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T09:31:03.138137Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T09:31:03.233929Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T09:31:03.233956Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.233979Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.279452Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T09:31:03.279482Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.279494Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T09:31:03.279504Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T09:31:03.279518Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.902920Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-26T09:31:04.015905Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T09:31:04.083586Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=71196, dur=79ms\n2026-05-26T09:31:04.121596Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=71197, dur=73ms\n2026-05-26T09:31:04.122653Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-26T09:31:12.673275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4456630385270008726, trigger=visual_change)\n2026-05-26T09:31:13.096778Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-26T09:31:13.099373Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-26T09:31:13.099500Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-26T09:31:13.099519Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 0.049 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-26T09:31:13.246182Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-26T09:31:13.250810Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-26T09:31:13.251051Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-26T09:31:13.252080Z INFO screenpipe_audio::audio_manager::manager: seeded 62 speakers (named + unnamed) from DB into embedding manager\n2026-05-26T09:31:13.252116Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-26T09:31:13.252139Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-26T09:31:13.701895Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-26T09:31:13.748252Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-26T09:31:13.748323Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-26T09:31:13.748351Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-26T09:31:14.972187Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71199 paired=2 still_pending=0\n2026-05-26T09:31:15.761184Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4958587055304279033, trigger=visual_change)\n2026-05-26T09:31:19.169835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71200 paired=2 still_pending=0\n2026-05-26T09:31:23.595001Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T09:31:29.305688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71203 paired=1 still_pending=0\n2026-05-26T09:31:30.703431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71206 paired=1 still_pending=0\n2026-05-26T09:31:34.672566Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71207 paired=1 still_pending=0\n2026-05-26T09:31:35.886788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71208 paired=1 still_pending=0\n2026-05-26T09:31:36.640059Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71209 paired=1 still_pending=0\n2026-05-26T09:31:37.618724Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71210 paired=1 still_pending=0\n2026-05-26T09:31:40.805690Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71211 paired=1 still_pending=0\n2026-05-26T09:31:42.264174Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71213 paired=1 still_pending=0\n2026-05-26T09:31:48.462998Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71215 paired=1 still_pending=0","depth":4,"on_screen":true,"value":"2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)\n2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)\n2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)\n2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0\n2026-05-22T13:47:01.445136Z WARN sqlx::query: summary=\"COMMIT\" db.statement=\"\" rows_affected=1 rows_returned=0 elapsed=1.208017791s\n2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0\n2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0\n2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0\n2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0\n2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0\n2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)\n2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0\n2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0\n2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0\n2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0\n2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0\n2026-05-22T13:48:03.509264Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=116 elapsed=2.640436125s\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:48:46.815103Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=49 elapsed=4.025636458s\n2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames\n2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted\n2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks\n2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0\n2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0\n2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T13:53:56.217432Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=73 elapsed=3.960102541s\n2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames\n2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted\n2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)\n2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0\n2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0\n2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)\n2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)\n2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)\n2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)\n2026-05-22T13:59:06.631961Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=95 elapsed=5.166274917s\n2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames\n2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted\n2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted\n2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0\n2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)\n2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0\n2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0\n2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1\n2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0\n2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0\n2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0\n2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0\n2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0\n2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0\n2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0\n2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0\n2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0\n2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0\n2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0\n2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0\n2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0\n2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0\n2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0\n2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0\n2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0\n2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0\n2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985\n2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1\n2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0\n2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0\n2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0\n2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0\n2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0\n2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0\n2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)\n2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0\n2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997\n2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0\n2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996\n2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)\n2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0\n2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)\n2026-05-22T14:04:23.562487Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=24 elapsed=6.035809s\n2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames\n2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted\n2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)\n2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0\n2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0\n2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)\n2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0\n2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0\n2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0\n2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)\n2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)\n2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0\n2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0\n2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)\n2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)\n2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)\n2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)\n2026-05-22T14:09:33.786926Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=28 elapsed=6.384550083s\n2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames\n2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted\n2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted\n2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0\n2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)\n2026-05-22T14:12:10.464016Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.079239583s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:14:43.042050Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=50 elapsed=3.636397916s\n2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames\n2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted\n2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)\n2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames\n2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted\n2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:24:32.462602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:24:37.549379Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-22T14:24:54.600747Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=23 elapsed=4.43952425s\n2026-05-22T14:24:54.601633Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-05-22T14:24:55.602008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.7MB → 0.5MB (5.3x), 10 JPEGs deleted\n2026-05-22T14:24:56.642375Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.4MB → 0.6MB (3.8x), 11 JPEGs deleted\n2026-05-22T14:25:28.391554Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-22T14:25:30.815683Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-22T14:25:30.873825Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-22T14:25:30.895223Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-22T14:25:31.011427Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1800 total_failed=0\n2026-05-22T14:25:31.041351Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-05-22T14:25:31.072147Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-22T14:25:31.555379Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (3008x1253, 2fps, 0 excluded)\n2026-05-22T14:25:32.955739Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-22T14:25:32.956016Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.301819Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302198Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-22T14:25:33.302923Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-22T14:25:37.227488Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=118 elapsed=1.172807333s\n2026-05-22T14:25:42.506390Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71094 paired=2 still_pending=0\n2026-05-22T14:25:47.526755Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 186.3ms elapsed (expected 5.3ms) → inserting 181.0ms silence (17373 samples)\n2026-05-22T14:25:51.569352Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71095 paired=1 still_pending=0\n2026-05-22T14:25:51.948223Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-22T14:25:54.996191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71096 paired=1 still_pending=3\n2026-05-22T14:26:04.719786Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71100 paired=2 still_pending=0\n2026-05-22T14:26:16.645139Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71103 paired=2 still_pending=0\n2026-05-22T14:26:17.539794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71105 paired=1 still_pending=0\n2026-05-22T14:26:25.612324Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=1 rows_returned=121 elapsed=2.057079625s\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:26:35.062506Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-22T14:26:38.338860Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71107 paired=2 still_pending=3\n2026-05-22T14:26:39.709291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=4 still_pending=0\n2026-05-22T14:26:41.199414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71110 paired=1 still_pending=0\n2026-05-22T14:26:47.998207Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=4 pending_frames=4 total_pairs=1454 total_evicted=1802 total_failed=0\n2026-05-22T14:26:47.998406Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71113 paired=1 still_pending=0\n2026-05-22T14:26:50.713519Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 94.9ms elapsed (expected 5.3ms) → inserting 89.6ms silence (8599 samples)\n2026-05-22T14:26:53.035157Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.9ms elapsed (expected 5.3ms) → inserting 81.6ms silence (7831 samples)\n2026-05-22T14:26:55.528246Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=5 pending_frames=2 total_pairs=1455 total_evicted=1805 total_failed=0\n2026-05-22T14:26:59.700021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71117 paired=1 still_pending=0\n2026-05-22T14:27:01.802403Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 150.4ms elapsed (expected 5.3ms) → inserting 145.1ms silence (13929 samples)\n2026-05-22T14:27:02.048529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 146.8ms elapsed (expected 5.3ms) → inserting 141.5ms silence (13580 samples)\n2026-05-22T14:27:02.634656Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.8ms elapsed (expected 5.3ms) → inserting 77.5ms silence (7441 samples)\n2026-05-22T14:27:08.244789Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71119 paired=1 still_pending=0\n2026-05-22T14:27:08.614218Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=15 pending_frames=2 total_pairs=1457 total_evicted=1806 total_failed=0\n2026-05-22T14:27:15.765277Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71122 paired=1 still_pending=0\n2026-05-22T14:27:17.627377Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71123 paired=1 still_pending=0\n2026-05-22T14:27:21.375727Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71124 paired=1 still_pending=0\n2026-05-22T14:27:23.586009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71125 paired=1 still_pending=0\n2026-05-22T14:27:25.353137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71126 paired=1 still_pending=0\n2026-05-22T14:27:26.520746Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71127 paired=1 still_pending=0\n2026-05-22T14:27:29.515388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71128 paired=1 still_pending=0\n2026-05-22T14:27:32.139022Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71129 paired=1 still_pending=0\n2026-05-22T14:27:32.351320Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71130 paired=13 still_pending=8\n2026-05-22T14:27:37.736017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71133 paired=1 still_pending=0\n2026-05-22T14:27:39.031942Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=3 total_pairs=1479 total_evicted=1807 total_failed=0\n2026-05-22T14:27:43.869199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=10 pending_frames=2 total_pairs=1479 total_evicted=1809 total_failed=0\n2026-05-22T14:27:43.869392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71135 paired=1 still_pending=0\n2026-05-22T14:27:46.171511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71139 paired=1 still_pending=0\n2026-05-22T14:27:47.332190Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71141 paired=1 still_pending=0\n2026-05-22T14:27:49.492186Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71143 paired=1 still_pending=0\n2026-05-22T14:27:50.501416Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71145 paired=1 still_pending=0\n2026-05-22T14:27:53.223291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71146 paired=1 still_pending=0\n2026-05-22T14:27:54.647434Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=7 total_pairs=1485 total_evicted=1811 total_failed=0\n2026-05-22T14:27:54.647867Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71148 paired=1 still_pending=0\n2026-05-22T14:27:55.800836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71150 paired=1 still_pending=0\n2026-05-22T14:27:59.963088Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=13 pending_frames=9 total_pairs=1487 total_evicted=1813 total_failed=0\n2026-05-22T14:28:02.216252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71152 paired=1 still_pending=0\n2026-05-22T14:28:08.799963Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71154 paired=1 still_pending=0\n2026-05-22T14:28:10.022618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71156 paired=1 still_pending=0\n2026-05-22T14:28:10.656006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71158 paired=1 still_pending=0\n2026-05-22T14:28:11.697532Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71159 paired=1 still_pending=0\n2026-05-22T14:28:13.111942Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71160 paired=1 still_pending=0\n2026-05-22T14:28:14.231456Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=15 pending_frames=12 total_pairs=1493 total_evicted=1815 total_failed=0\n2026-05-22T14:28:14.231530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71161 paired=1 still_pending=0\n2026-05-22T14:28:16.814829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71163 paired=1 still_pending=0\n2026-05-22T14:28:17.782934Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71165 paired=1 still_pending=0\n2026-05-22T14:28:19.653659Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71166 paired=1 still_pending=0\n2026-05-22T14:28:20.842891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71167 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-22T14:28:28.459283Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71169 paired=1 still_pending=0\n2026-05-22T14:28:29.543836Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71171 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-22T14:28:35.224354Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-22T14:28:40.949646Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=16 pending_frames=14 total_pairs=1500 total_evicted=1819 total_failed=0\n2026-05-22T14:28:40.967460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71173 paired=1 still_pending=0\n2026-05-22T14:28:43.559656Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71174 paired=1 still_pending=0\n2026-05-22T14:28:47.563682Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71177 paired=1 still_pending=0\n2026-05-22T14:28:48.732684Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=15 pending_frames=13 total_pairs=1503 total_evicted=1826 total_failed=0\n2026-05-22T14:28:51.100950Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 120.6ms elapsed (expected 5.3ms) → inserting 115.3ms silence (11065 samples)\n2026-05-22T14:28:53.664779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=15 pending_frames=11 total_pairs=1503 total_evicted=1829 total_failed=0\n2026-05-22T14:28:53.665107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71178 paired=1 still_pending=0\n2026-05-22T14:29:09.557244Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=8 pending_frames=7 total_pairs=1504 total_evicted=1840 total_failed=0\n2026-05-22T14:29:09.557642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71180 paired=1 still_pending=0\n2026-05-22T14:29:09.922481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.049361Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71181 paired=1 still_pending=0\n2026-05-22T14:29:12.052294Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=2 still_pending=4\n2026-05-22T14:29:12.256384Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:12.415587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=7923116779312214135, trigger=click)\n2026-05-22T14:29:13.568626Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71182 paired=1 still_pending=0\n2026-05-22T14:29:13.617586Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=6 pending_frames=8 total_pairs=1509 total_evicted=1841 total_failed=0\n2026-05-22T14:29:17.830831Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71185 paired=1 still_pending=0\n2026-05-22T14:29:18.617477Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=7 pending_frames=7 total_pairs=1510 total_evicted=1846 total_failed=0\n2026-05-22T14:29:18.977788Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 98.9ms elapsed (expected 5.3ms) → inserting 93.5ms silence (8979 samples)\n2026-05-22T14:29:25.235398Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=6 pending_frames=6 total_pairs=1510 total_evicted=1848 total_failed=0\n2026-05-22T14:29:25.235728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71188 paired=1 still_pending=0\n2026-05-22T14:29:28.896643Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1511 total_evicted=1849 total_failed=0\n2026-05-22T14:29:30.950594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1574809818300579953, trigger=visual_change)\n2026-05-22T14:29:31.780076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71192 paired=2 still_pending=0\n2026-05-22T14:29:32.670962Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71193 paired=1 still_pending=0\n2026-05-22T14:29:33.362313Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71194 paired=1 still_pending=0\n2026-05-22T14:29:34.261823Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71195 paired=1 still_pending=0\nzsh: terminated npx screenpipe@latest record\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alia sp-start \nzsh: command not found: alia\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ du -sh ~/.screenpipe \n6.2G\u0000\u0000\u0000\t/Users/lukas/.screenpipe\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.346\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T09:31:02.067706Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T09:31:02.688632Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T09:31:02.690317Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T09:31:02.690655Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T09:31:02.710847Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T09:31:02.710954Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T09:31:03.088283Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T09:31:03.088271Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T09:31:03.088338Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T09:31:03.088441Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T09:31:03.088510Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T09:31:03.092088Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T09:31:03.092320Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T09:31:03.092785Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T09:31:03.092866Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T09:31:03.092942Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T09:31:03.093029Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T09:31:03.093042Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T09:31:03.093822Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T09:31:03.094123Z INFO screenpipe: starting UI event capture\n2026-05-26T09:31:03.097737Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T09:31:03.102328Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T09:31:03.121802Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T09:31:03.122210Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122223Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T09:31:03.122380Z INFO screenpipe_engine::ui_recorder: UI recording session started: 70b021ee-633e-452a-beee-018e5e9e0154\n2026-05-26T09:31:03.122499Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T09:31:03.122532Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 06:31:03.122531 UTC to 2026-05-26 06:31:03.122531 UTC)\n2026-05-26T09:31:03.129063Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T09:31:03.129324Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 0 frame entries, coverage from 2026-05-25 06:31:03.122531 UTC\n2026-05-26T09:31:03.130434Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T09:31:03.138137Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T09:31:03.233929Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T09:31:03.233956Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.233979Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T09:31:03.279452Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T09:31:03.279482Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.279494Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T09:31:03.279504Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T09:31:03.279518Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T09:31:03.902920Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-26T09:31:04.015905Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T09:31:04.083586Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=71196, dur=79ms\n2026-05-26T09:31:04.121596Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=71197, dur=73ms\n2026-05-26T09:31:04.122653Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-26T09:31:12.673275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4456630385270008726, trigger=visual_change)\n2026-05-26T09:31:13.096778Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-26T09:31:13.099373Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-26T09:31:13.099500Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-26T09:31:13.099519Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 0.049 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-26T09:31:13.246182Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-26T09:31:13.250810Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-26T09:31:13.251051Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-26T09:31:13.252080Z INFO screenpipe_audio::audio_manager::manager: seeded 62 speakers (named + unnamed) from DB into embedding manager\n2026-05-26T09:31:13.252116Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-26T09:31:13.252139Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-26T09:31:13.701895Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-26T09:31:13.748252Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-26T09:31:13.748323Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)\n2026-05-26T09:31:13.748351Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-26T09:31:14.972187Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71199 paired=2 still_pending=0\n2026-05-26T09:31:15.761184Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4958587055304279033, trigger=visual_change)\n2026-05-26T09:31:19.169835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71200 paired=2 still_pending=0\n2026-05-26T09:31:23.595001Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T09:31:29.305688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71203 paired=1 still_pending=0\n2026-05-26T09:31:30.703431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71206 paired=1 still_pending=0\n2026-05-26T09:31:34.672566Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71207 paired=1 still_pending=0\n2026-05-26T09:31:35.886788Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71208 paired=1 still_pending=0\n2026-05-26T09:31:36.640059Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71209 paired=1 still_pending=0\n2026-05-26T09:31:37.618724Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71210 paired=1 still_pending=0\n2026-05-26T09:31:40.805690Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71211 paired=1 still_pending=0\n2026-05-26T09:31:42.264174Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71213 paired=1 still_pending=0\n2026-05-26T09:31:48.462998Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71215 paired=1 still_pending=0","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0013888889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.19444445,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.19861111,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.39166668,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.39583334,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5888889,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.59305555,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7861111,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.7902778,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.46944445,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-1424526161407021544
|
-5427308935470221855
|
click
|
accessibility
|
NULL
|
2026-05-22T13:46:57.771304Z INFO screenpipe_engin 2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)
2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)
2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)
2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:47:01.445136Z WARN sqlx::query: summary="COMMIT" db.statement="" rows_affected=1 rows_returned=0 elapsed=1.208017791s
2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0
2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0
2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0
2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0
2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0
2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)
2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0
2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0
2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0
2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0
2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0
2026-05-22T13:48:03.509264Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=116 elapsed=2.640436125s
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:48:46.815103Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=49 elapsed=4.025636458s
2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames
2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted
2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks
2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0
2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0
2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:53:56.217432Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=73 elapsed=3.960102541s
2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames
2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted
2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)
2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0
2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0
2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)
2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)
2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)
2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)
2026-05-22T13:59:06.631961Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=95 elapsed=5.166274917s
2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted
2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted
2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0
2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)
2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0
2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0
2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1
2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0
2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0
2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0
2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0
2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0
2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0
2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0
2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0
2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0
2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0
2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0
2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0
2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0
2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0
2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0
2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0
2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985
2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1
2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0
2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0
2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0
2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0
2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0
2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0
2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)
2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997
2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0
2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996
2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)
2026-05-22T14:04:23.562487Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=24 elapsed=6.035809s
2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted
2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)
2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0
2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0
2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0
2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0
2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0
2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)
2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)
2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0
2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0
2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)
2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)
2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)
2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)
2026-05-22T14:09:33.786926Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=28 elapsed=6.384550083s
2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted
2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted
2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0
2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)
2026-05-22T14:12:10.464016Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=118 elapsed=1.079239583s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:14:43.042050Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=50 elapsed=3.636397916s
2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames
2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted
2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)
2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames
2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted
2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:24:32.462602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:24:37.549379Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)
2026-05-22T14:24:54.600747Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=23 elapsed=4.43952425s
2026-05-22T14:24:54.601633Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames
2026-05-22T14:24:55.602008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.7MB → 0.5MB (5.3x), 10 JPEGs deleted
2026-05-22T14:24:56.642375Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.4MB → 0.6MB (3.8x), 11 JPEGs deleted
2026-05-22T14:25:28.391554Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1
2026-05-22T14:25:30.815683Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-05-22T14:25:30.873825Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state obse...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
72669
|
2612
|
50
|
2026-05-26T08:54:32.006383+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-26/1779 /Users/lukas/.screenpipe/data/data/2026-05-26/1779785672006_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_init_state: compute buffer (conv) = 14 whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:44:06.555214Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:44:07.492316Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:44:08.675903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72551 paired=2 still_pending=0
2026-05-26T11:44:08.685737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=1 total_pairs=781 total_evicted=458 total_failed=0
2026-05-26T11:44:10.387358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=visual_change)
2026-05-26T11:44:12.742833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72556 paired=1 still_pending=0
2026-05-26T11:44:12.852691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=click)
2026-05-26T11:44:14.562901Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72557 paired=1 still_pending=0
2026-05-26T11:44:14.917231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3205012590499771722, trigger=click)
2026-05-26T11:44:20.118820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:44:21.797050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72560 paired=1 still_pending=0
2026-05-26T11:44:35.129034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72562 paired=1 still_pending=0
2026-05-26T11:44:38.343770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72564 paired=1 still_pending=0
2026-05-26T11:44:40.077842Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72566 paired=1 still_pending=0
2026-05-26T11:44:42.230059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:44:42.449747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72569 paired=1 still_pending=0
2026-05-26T11:44:43.652767Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72570 paired=1 still_pending=0
2026-05-26T11:45:02.508329Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=56 elapsed=3.680550959s
2026-05-26T11:45:02.508471Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 56 eligible frames
2026-05-26T11:45:04.406705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.9MB → 1.5MB (2.6x), 27 JPEGs deleted
2026-05-26T11:45:05.069774Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:06.180453Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 1.0MB (5.7x), 27 JPEGs deleted
2026-05-26T11:45:11.162097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:13.443553Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=4 total_pairs=789 total_evicted=460 total_failed=0
2026-05-26T11:45:14.231786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:18.443370Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=3 total_pairs=789 total_evicted=461 total_failed=0
2026-05-26T11:45:23.443344Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=789 total_evicted=462 total_failed=0
2026-05-26T11:45:26.485795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:32.579534Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:35.638524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:41.728975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:43.444588Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=789 total_evicted=463 total_failed=0
2026-05-26T11:45:44.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:48.445239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=0 total_pairs=789 total_evicted=466 total_failed=0
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-26T11:46:06.121735Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:46:07.317639Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:46:12.217749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:46:15.271201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:46:21.354594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:46:37.556001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72579 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:48:07.935328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)
2026-05-26T11:48:08.196678Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:49:06.065402Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72581 paired=1 still_pending=0
2026-05-26T11:49:06.068805Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=0 total_pairs=791 total_evicted=467 total_failed=0
2026-05-26T11:49:06.124972Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:49:06.359006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=845 row_id=73875 frame_id=72590
2026-05-26T11:49:06.372599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:49:06.392176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72589 paired=1 still_pending=1
2026-05-26T11:49:08.425960Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=847 row_id=73877 frame_id=72591
2026-05-26T11:49:08.427230Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=848 row_id=73878 frame_id=72591
2026-05-26T11:49:08.428191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72592 paired=1 still_pending=1
2026-05-26T11:49:11.733966Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=850 row_id=73880 frame_id=72593
2026-05-26T11:49:13.900409Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72595 paired=1 still_pending=0
2026-05-26T11:49:32.842972Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=853 row_id=73884 frame_id=72598
2026-05-26T11:49:32.844740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72599 paired=1 still_pending=1
2026-05-26T11:49:33.655978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=855 row_id=73886 frame_id=72600
2026-05-26T11:49:35.947726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=856 row_id=73887 frame_id=72602
2026-05-26T11:49:36.541494Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:49:36.598815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72604 paired=1 still_pending=0
2026-05-26T11:49:36.599681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1
2026-05-26T11:49:36.638687Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7352646291973498357, trigger=click)
2026-05-26T11:49:37.262579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=click)
2026-05-26T11:49:38.317754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=859 row_id=73890 frame_id=72604
2026-05-26T11:49:38.318645Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1
2026-05-26T11:49:40.066063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72606 paired=1 still_pending=0
2026-05-26T11:49:46.459106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72609 paired=1 still_pending=0
2026-05-26T11:49:48.674179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72613 paired=1 still_pending=0
2026-05-26T11:49:50.948011Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72616 paired=1 still_pending=0
2026-05-26T11:49:51.125669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=click)
2026-05-26T11:49:52.162757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5460096227464630703, trigger=click)
2026-05-26T11:49:52.980646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72618 paired=2 still_pending=0
2026-05-26T11:49:53.014920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=typing_pause)
2026-05-26T11:49:53.866677Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=868 row_id=73900 frame_id=72618
2026-05-26T11:50:06.619028Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 39 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:50:08.741292Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 1.4MB (2.5x), 21 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:50:10.426420Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.6MB → 0.5MB (5.7x), 16 JPEGs deleted
2026-05-26T11:50:10.524291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:50:32.529154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)
2026-05-26T11:50:35.591628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)
2026-05-26T11:50:39.150221Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=869 row_id=73901 frame_id=72619
2026-05-26T11:50:39.159156Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=6 total_pairs=814 total_evicted=478 total_failed=0
2026-05-26T11:50:43.433070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=5 total_pairs=814 total_evicted=480 total_failed=0
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
2026-05-26T11:51:10.900189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:51:15.956447Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:51:21.002309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:51:23.788340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:52:11.341416Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:52:13.027743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:52:19.106403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:52:21.942050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72631 paired=1 still_pending=0
2026-05-26T11:52:21.944925Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=0 total_pairs=815 total_evicted=485 total_failed=0
2026-05-26T11:52:22.152068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:52:25.082196Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=871 row_id=73911 frame_id=72639
2026-05-26T11:52:25.532678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:26.157181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:26.288113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=872 row_id=73913 frame_id=72640
2026-05-26T11:52:26.336674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:27.105937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:27.214045Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:28.506006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=873 row_id=73914 frame_id=72640
2026-05-26T11:52:28.508205Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=874 row_id=73915 frame_id=72639
2026-05-26T11:52:34.604402Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:34.691743Z IN...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:44:06.555214Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:44:07.492316Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:44:08.675903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72551 paired=2 still_pending=0\n2026-05-26T11:44:08.685737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=1 total_pairs=781 total_evicted=458 total_failed=0\n2026-05-26T11:44:10.387358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=visual_change)\n2026-05-26T11:44:12.742833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72556 paired=1 still_pending=0\n2026-05-26T11:44:12.852691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=click)\n2026-05-26T11:44:14.562901Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72557 paired=1 still_pending=0\n2026-05-26T11:44:14.917231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3205012590499771722, trigger=click)\n2026-05-26T11:44:20.118820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:44:21.797050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72560 paired=1 still_pending=0\n2026-05-26T11:44:35.129034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72562 paired=1 still_pending=0\n2026-05-26T11:44:38.343770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72564 paired=1 still_pending=0\n2026-05-26T11:44:40.077842Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72566 paired=1 still_pending=0\n2026-05-26T11:44:42.230059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:44:42.449747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72569 paired=1 still_pending=0\n2026-05-26T11:44:43.652767Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72570 paired=1 still_pending=0\n2026-05-26T11:45:02.508329Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=56 elapsed=3.680550959s\n2026-05-26T11:45:02.508471Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 56 eligible frames\n2026-05-26T11:45:04.406705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.9MB → 1.5MB (2.6x), 27 JPEGs deleted\n2026-05-26T11:45:05.069774Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:06.180453Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 1.0MB (5.7x), 27 JPEGs deleted\n2026-05-26T11:45:11.162097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:13.443553Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=4 total_pairs=789 total_evicted=460 total_failed=0\n2026-05-26T11:45:14.231786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:18.443370Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=3 total_pairs=789 total_evicted=461 total_failed=0\n2026-05-26T11:45:23.443344Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=789 total_evicted=462 total_failed=0\n2026-05-26T11:45:26.485795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:32.579534Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:35.638524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:41.728975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:43.444588Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=789 total_evicted=463 total_failed=0\n2026-05-26T11:45:44.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:48.445239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=0 total_pairs=789 total_evicted=466 total_failed=0\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-26T11:46:06.121735Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:46:07.317639Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:46:12.217749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:46:15.271201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:46:21.354594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:46:37.556001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72579 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:48:07.935328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:48:08.196678Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:49:06.065402Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72581 paired=1 still_pending=0\n2026-05-26T11:49:06.068805Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=0 total_pairs=791 total_evicted=467 total_failed=0\n2026-05-26T11:49:06.124972Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:49:06.359006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=845 row_id=73875 frame_id=72590\n2026-05-26T11:49:06.372599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:49:06.392176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72589 paired=1 still_pending=1\n2026-05-26T11:49:08.425960Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=847 row_id=73877 frame_id=72591\n2026-05-26T11:49:08.427230Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=848 row_id=73878 frame_id=72591\n2026-05-26T11:49:08.428191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72592 paired=1 still_pending=1\n2026-05-26T11:49:11.733966Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=850 row_id=73880 frame_id=72593\n2026-05-26T11:49:13.900409Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72595 paired=1 still_pending=0\n2026-05-26T11:49:32.842972Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=853 row_id=73884 frame_id=72598\n2026-05-26T11:49:32.844740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72599 paired=1 still_pending=1\n2026-05-26T11:49:33.655978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=855 row_id=73886 frame_id=72600\n2026-05-26T11:49:35.947726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=856 row_id=73887 frame_id=72602\n2026-05-26T11:49:36.541494Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:49:36.598815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72604 paired=1 still_pending=0\n2026-05-26T11:49:36.599681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1\n2026-05-26T11:49:36.638687Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7352646291973498357, trigger=click)\n2026-05-26T11:49:37.262579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=click)\n2026-05-26T11:49:38.317754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=859 row_id=73890 frame_id=72604\n2026-05-26T11:49:38.318645Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1\n2026-05-26T11:49:40.066063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72606 paired=1 still_pending=0\n2026-05-26T11:49:46.459106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72609 paired=1 still_pending=0\n2026-05-26T11:49:48.674179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72613 paired=1 still_pending=0\n2026-05-26T11:49:50.948011Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72616 paired=1 still_pending=0\n2026-05-26T11:49:51.125669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=click)\n2026-05-26T11:49:52.162757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5460096227464630703, trigger=click)\n2026-05-26T11:49:52.980646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72618 paired=2 still_pending=0\n2026-05-26T11:49:53.014920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=typing_pause)\n2026-05-26T11:49:53.866677Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=868 row_id=73900 frame_id=72618\n2026-05-26T11:50:06.619028Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 39 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:50:08.741292Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 1.4MB (2.5x), 21 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:50:10.426420Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.6MB → 0.5MB (5.7x), 16 JPEGs deleted\n2026-05-26T11:50:10.524291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:50:32.529154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)\n2026-05-26T11:50:35.591628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)\n2026-05-26T11:50:39.150221Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=869 row_id=73901 frame_id=72619\n2026-05-26T11:50:39.159156Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=6 total_pairs=814 total_evicted=478 total_failed=0\n2026-05-26T11:50:43.433070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=5 total_pairs=814 total_evicted=480 total_failed=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-26T11:51:10.900189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:51:15.956447Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:51:21.002309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:51:23.788340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:52:11.341416Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:52:13.027743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:52:19.106403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:52:21.942050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72631 paired=1 still_pending=0\n2026-05-26T11:52:21.944925Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=0 total_pairs=815 total_evicted=485 total_failed=0\n2026-05-26T11:52:22.152068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:52:25.082196Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=871 row_id=73911 frame_id=72639\n2026-05-26T11:52:25.532678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:26.157181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:26.288113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=872 row_id=73913 frame_id=72640\n2026-05-26T11:52:26.336674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:27.105937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:27.214045Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:28.506006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=873 row_id=73914 frame_id=72640\n2026-05-26T11:52:28.508205Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=874 row_id=73915 frame_id=72639\n2026-05-26T11:52:34.604402Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:34.691743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:34.909111Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:35.070771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72640 paired=1 still_pending=0\n2026-05-26T11:52:35.755036Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:36.387265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72639 paired=1 still_pending=0\n2026-05-26T11:52:36.436015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:36.749862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:38.073707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=877 row_id=73919 frame_id=72639\n2026-05-26T11:52:38.074722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:38.214829Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=typing_pause)\n2026-05-26T11:52:40.290047Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:46.404466Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:49.481101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:52.097338Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72639 paired=1 still_pending=0\n2026-05-26T11:53:19.477603Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72643 paired=1 still_pending=0\n2026-05-26T11:53:23.429291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72646 paired=2 still_pending=0\n2026-05-26T11:53:23.436526Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=7 total_pairs=826 total_evicted=486 total_failed=0\n2026-05-26T11:53:25.943577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72648 paired=2 still_pending=0\n2026-05-26T11:53:26.099185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=click)\n2026-05-26T11:53:27.407417Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72648 paired=2 still_pending=0\n2026-05-26T11:53:28.608898Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=1 pending_frames=3 total_pairs=830 total_evicted=490 total_failed=0\n2026-05-26T11:53:28.609107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72649 paired=1 still_pending=0\n2026-05-26T11:53:29.728345Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72650 paired=1 still_pending=0\n2026-05-26T11:53:30.709552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:53:36.835194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 99.6ms elapsed (expected 5.3ms) → inserting 94.2ms silence (9045 samples)\n2026-05-26T11:53:38.616982Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=1 total_pairs=832 total_evicted=492 total_failed=0\n2026-05-26T11:53:38.617174Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72650 paired=1 still_pending=0\n2026-05-26T11:53:38.635072Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72651 paired=1 still_pending=7\n2026-05-26T11:53:40.041863Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.1ms elapsed (expected 5.3ms) → inserting 79.8ms silence (7662 samples)\n2026-05-26T11:53:40.318684Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 127.3ms elapsed (expected 5.3ms) → inserting 122.0ms silence (11708 samples)\n2026-05-26T11:53:45.377540Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72654 paired=1 still_pending=0\n2026-05-26T11:53:45.595817Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4945213277597655644, trigger=click)\n2026-05-26T11:53:46.783874Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72655 paired=1 still_pending=0\n2026-05-26T11:53:46.992980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4945213277597655644, trigger=click)\n2026-05-26T11:53:47.991405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72655 paired=1 still_pending=0\n2026-05-26T11:53:51.043414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72656 paired=1 still_pending=0\n2026-05-26T11:53:51.735409Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)\n2026-05-26T11:53:54.365420Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=894 row_id=73941 frame_id=72657\n2026-05-26T11:53:54.369056Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=895 row_id=73942 frame_id=72657\n2026-05-26T11:53:54.370851Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=896 row_id=73943 frame_id=72657\n2026-05-26T11:54:02.126616Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72660 paired=1 still_pending=0\n2026-05-26T11:54:04.072011Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:54:07.154705Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:54:12.287314Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:54:19.317480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:54:19.931997Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72662 paired=1 still_pending=0\n2026-05-26T11:54:24.098435Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=3 total_pairs=843 total_evicted=493 total_failed=0\n2026-05-26T11:54:24.098600Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72664 paired=1 still_pending=0\n2026-05-26T11:54:24.099988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72665 paired=1 still_pending=3\n2026-05-26T11:54:26.952148Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4945213277597655644, trigger=click)\n2026-05-26T11:54:28.843648Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72666 paired=1 still_pending=0\n2026-05-26T11:54:28.977387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4945213277597655644, trigger=click)\n2026-05-26T11:54:29.100646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=902 row_id=73950 frame_id=72664\n2026-05-26T11:54:29.230601Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72667 paired=2 still_pending=1\n2026-05-26T11:54:31.842792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72668 paired=1 still_pending=0","depth":4,"on_screen":true,"value":"whisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:44:06.555214Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:44:07.492316Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:44:08.675903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72551 paired=2 still_pending=0\n2026-05-26T11:44:08.685737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=1 total_pairs=781 total_evicted=458 total_failed=0\n2026-05-26T11:44:10.387358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=visual_change)\n2026-05-26T11:44:12.742833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72556 paired=1 still_pending=0\n2026-05-26T11:44:12.852691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=click)\n2026-05-26T11:44:14.562901Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72557 paired=1 still_pending=0\n2026-05-26T11:44:14.917231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3205012590499771722, trigger=click)\n2026-05-26T11:44:20.118820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:44:21.797050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72560 paired=1 still_pending=0\n2026-05-26T11:44:35.129034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72562 paired=1 still_pending=0\n2026-05-26T11:44:38.343770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72564 paired=1 still_pending=0\n2026-05-26T11:44:40.077842Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72566 paired=1 still_pending=0\n2026-05-26T11:44:42.230059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:44:42.449747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72569 paired=1 still_pending=0\n2026-05-26T11:44:43.652767Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72570 paired=1 still_pending=0\n2026-05-26T11:45:02.508329Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=56 elapsed=3.680550959s\n2026-05-26T11:45:02.508471Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 56 eligible frames\n2026-05-26T11:45:04.406705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.9MB → 1.5MB (2.6x), 27 JPEGs deleted\n2026-05-26T11:45:05.069774Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:06.180453Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 1.0MB (5.7x), 27 JPEGs deleted\n2026-05-26T11:45:11.162097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:13.443553Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=4 total_pairs=789 total_evicted=460 total_failed=0\n2026-05-26T11:45:14.231786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:18.443370Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=3 total_pairs=789 total_evicted=461 total_failed=0\n2026-05-26T11:45:23.443344Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=789 total_evicted=462 total_failed=0\n2026-05-26T11:45:26.485795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:32.579534Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:35.638524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:41.728975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:43.444588Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=789 total_evicted=463 total_failed=0\n2026-05-26T11:45:44.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:48.445239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=0 total_pairs=789 total_evicted=466 total_failed=0\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-26T11:46:06.121735Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:46:07.317639Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:46:12.217749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:46:15.271201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:46:21.354594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:46:37.556001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72579 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:48:07.935328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:48:08.196678Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:49:06.065402Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72581 paired=1 still_pending=0\n2026-05-26T11:49:06.068805Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=0 total_pairs=791 total_evicted=467 total_failed=0\n2026-05-26T11:49:06.124972Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:49:06.359006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=845 row_id=73875 frame_id=72590\n2026-05-26T11:49:06.372599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:49:06.392176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72589 paired=1 still_pending=1\n2026-05-26T11:49:08.425960Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=847 row_id=73877 frame_id=72591\n2026-05-26T11:49:08.427230Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=848 row_id=73878 frame_id=72591\n2026-05-26T11:49:08.428191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72592 paired=1 still_pending=1\n2026-05-26T11:49:11.733966Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=850 row_id=73880 frame_id=72593\n2026-05-26T11:49:13.900409Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72595 paired=1 still_pending=0\n2026-05-26T11:49:32.842972Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=853 row_id=73884 frame_id=72598\n2026-05-26T11:49:32.844740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72599 paired=1 still_pending=1\n2026-05-26T11:49:33.655978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=855 row_id=73886 frame_id=72600\n2026-05-26T11:49:35.947726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=856 row_id=73887 frame_id=72602\n2026-05-26T11:49:36.541494Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:49:36.598815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72604 paired=1 still_pending=0\n2026-05-26T11:49:36.599681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1\n2026-05-26T11:49:36.638687Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7352646291973498357, trigger=click)\n2026-05-26T11:49:37.262579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=click)\n2026-05-26T11:49:38.317754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=859 row_id=73890 frame_id=72604\n2026-05-26T11:49:38.318645Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1\n2026-05-26T11:49:40.066063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72606 paired=1 still_pending=0\n2026-05-26T11:49:46.459106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72609 paired=1 still_pending=0\n2026-05-26T11:49:48.674179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72613 paired=1 still_pending=0\n2026-05-26T11:49:50.948011Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72616 paired=1 still_pending=0\n2026-05-26T11:49:51.125669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=click)\n2026-05-26T11:49:52.162757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5460096227464630703, trigger=click)\n2026-05-26T11:49:52.980646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72618 paired=2 still_pending=0\n2026-05-26T11:49:53.014920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=typing_pause)\n2026-05-26T11:49:53.866677Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=868 row_id=73900 frame_id=72618\n2026-05-26T11:50:06.619028Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 39 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:50:08.741292Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 1.4MB (2.5x), 21 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:50:10.426420Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.6MB → 0.5MB (5.7x), 16 JPEGs deleted\n2026-05-26T11:50:10.524291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:50:32.529154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)\n2026-05-26T11:50:35.591628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)\n2026-05-26T11:50:39.150221Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=869 row_id=73901 frame_id=72619\n2026-05-26T11:50:39.159156Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=6 total_pairs=814 total_evicted=478 total_failed=0\n2026-05-26T11:50:43.433070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=5 total_pairs=814 total_evicted=480 total_failed=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-26T11:51:10.900189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:51:15.956447Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:51:21.002309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:51:23.788340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:52:11.341416Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:52:13.027743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:52:19.106403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:52:21.942050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72631 paired=1 still_pending=0\n2026-05-26T11:52:21.944925Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=0 total_pairs=815 total_evicted=485 total_failed=0\n2026-05-26T11:52:22.152068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:52:25.082196Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=871 row_id=73911 frame_id=72639\n2026-05-26T11:52:25.532678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:26.157181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:26.288113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=872 row_id=73913 frame_id=72640\n2026-05-26T11:52:26.336674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:27.105937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:27.214045Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:28.506006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=873 row_id=73914 frame_id=72640\n2026-05-26T11:52:28.508205Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=874 row_id=73915 frame_id=72639\n2026-05-26T11:52:34.604402Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:34.691743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:34.909111Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:35.070771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72640 paired=1 still_pending=0\n2026-05-26T11:52:35.755036Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:36.387265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72639 paired=1 still_pending=0\n2026-05-26T11:52:36.436015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:36.749862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:38.073707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=877 row_id=73919 frame_id=72639\n2026-05-26T11:52:38.074722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:38.214829Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=typing_pause)\n2026-05-26T11:52:40.290047Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:46.404466Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:49.481101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:52.097338Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72639 paired=1 still_pending=0\n2026-05-26T11:53:19.477603Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72643 paired=1 still_pending=0\n2026-05-26T11:53:23.429291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72646 paired=2 still_pending=0\n2026-05-26T11:53:23.436526Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=7 total_pairs=826 total_evicted=486 total_failed=0\n2026-05-26T11:53:25.943577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72648 paired=2 still_pending=0\n2026-05-26T11:53:26.099185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=click)\n2026-05-26T11:53:27.407417Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72648 paired=2 still_pending=0\n2026-05-26T11:53:28.608898Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=1 pending_frames=3 total_pairs=830 total_evicted=490 total_failed=0\n2026-05-26T11:53:28.609107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72649 paired=1 still_pending=0\n2026-05-26T11:53:29.728345Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72650 paired=1 still_pending=0\n2026-05-26T11:53:30.709552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:53:36.835194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 99.6ms elapsed (expected 5.3ms) → inserting 94.2ms silence (9045 samples)\n2026-05-26T11:53:38.616982Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=1 total_pairs=832 total_evicted=492 total_failed=0\n2026-05-26T11:53:38.617174Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72650 paired=1 still_pending=0\n2026-05-26T11:53:38.635072Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72651 paired=1 still_pending=7\n2026-05-26T11:53:40.041863Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.1ms elapsed (expected 5.3ms) → inserting 79.8ms silence (7662 samples)\n2026-05-26T11:53:40.318684Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 127.3ms elapsed (expected 5.3ms) → inserting 122.0ms silence (11708 samples)\n2026-05-26T11:53:45.377540Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72654 paired=1 still_pending=0\n2026-05-26T11:53:45.595817Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4945213277597655644, trigger=click)\n2026-05-26T11:53:46.783874Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72655 paired=1 still_pending=0\n2026-05-26T11:53:46.992980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4945213277597655644, trigger=click)\n2026-05-26T11:53:47.991405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72655 paired=1 still_pending=0\n2026-05-26T11:53:51.043414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72656 paired=1 still_pending=0\n2026-05-26T11:53:51.735409Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)\n2026-05-26T11:53:54.365420Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=894 row_id=73941 frame_id=72657\n2026-05-26T11:53:54.369056Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=895 row_id=73942 frame_id=72657\n2026-05-26T11:53:54.370851Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=896 row_id=73943 frame_id=72657\n2026-05-26T11:54:02.126616Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72660 paired=1 still_pending=0\n2026-05-26T11:54:04.072011Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:54:07.154705Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:54:12.287314Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:54:19.317480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:54:19.931997Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72662 paired=1 still_pending=0\n2026-05-26T11:54:24.098435Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=3 total_pairs=843 total_evicted=493 total_failed=0\n2026-05-26T11:54:24.098600Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72664 paired=1 still_pending=0\n2026-05-26T11:54:24.099988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72665 paired=1 still_pending=3\n2026-05-26T11:54:26.952148Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4945213277597655644, trigger=click)\n2026-05-26T11:54:28.843648Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72666 paired=1 still_pending=0\n2026-05-26T11:54:28.977387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4945213277597655644, trigger=click)\n2026-05-26T11:54:29.100646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=902 row_id=73950 frame_id=72664\n2026-05-26T11:54:29.230601Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72667 paired=2 still_pending=1\n2026-05-26T11:54:31.842792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72668 paired=1 still_pending=0","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0013888889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.19444445,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.19861111,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.39166668,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.39583334,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5888889,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.59305555,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7861111,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.7902778,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.46944445,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
5748049749317027204
|
-6580810982217681439
|
click
|
accessibility
|
NULL
|
whisper_init_state: compute buffer (conv) = 14 whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:44:06.555214Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:44:07.492316Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:44:08.675903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72551 paired=2 still_pending=0
2026-05-26T11:44:08.685737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=1 total_pairs=781 total_evicted=458 total_failed=0
2026-05-26T11:44:10.387358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=visual_change)
2026-05-26T11:44:12.742833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72556 paired=1 still_pending=0
2026-05-26T11:44:12.852691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=click)
2026-05-26T11:44:14.562901Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72557 paired=1 still_pending=0
2026-05-26T11:44:14.917231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3205012590499771722, trigger=click)
2026-05-26T11:44:20.118820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:44:21.797050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72560 paired=1 still_pending=0
2026-05-26T11:44:35.129034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72562 paired=1 still_pending=0
2026-05-26T11:44:38.343770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72564 paired=1 still_pending=0
2026-05-26T11:44:40.077842Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72566 paired=1 still_pending=0
2026-05-26T11:44:42.230059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:44:42.449747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72569 paired=1 still_pending=0
2026-05-26T11:44:43.652767Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72570 paired=1 still_pending=0
2026-05-26T11:45:02.508329Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=56 elapsed=3.680550959s
2026-05-26T11:45:02.508471Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 56 eligible frames
2026-05-26T11:45:04.406705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.9MB → 1.5MB (2.6x), 27 JPEGs deleted
2026-05-26T11:45:05.069774Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:06.180453Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 1.0MB (5.7x), 27 JPEGs deleted
2026-05-26T11:45:11.162097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:13.443553Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=4 total_pairs=789 total_evicted=460 total_failed=0
2026-05-26T11:45:14.231786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:18.443370Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=3 total_pairs=789 total_evicted=461 total_failed=0
2026-05-26T11:45:23.443344Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=789 total_evicted=462 total_failed=0
2026-05-26T11:45:26.485795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:32.579534Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:35.638524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:41.728975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:43.444588Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=789 total_evicted=463 total_failed=0
2026-05-26T11:45:44.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:48.445239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=0 total_pairs=789 total_evicted=466 total_failed=0
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-26T11:46:06.121735Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:46:07.317639Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:46:12.217749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:46:15.271201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:46:21.354594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:46:37.556001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72579 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:48:07.935328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)
2026-05-26T11:48:08.196678Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:49:06.065402Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72581 paired=1 still_pending=0
2026-05-26T11:49:06.068805Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=0 total_pairs=791 total_evicted=467 total_failed=0
2026-05-26T11:49:06.124972Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:49:06.359006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=845 row_id=73875 frame_id=72590
2026-05-26T11:49:06.372599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:49:06.392176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72589 paired=1 still_pending=1
2026-05-26T11:49:08.425960Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=847 row_id=73877 frame_id=72591
2026-05-26T11:49:08.427230Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=848 row_id=73878 frame_id=72591
2026-05-26T11:49:08.428191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72592 paired=1 still_pending=1
2026-05-26T11:49:11.733966Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=850 row_id=73880 frame_id=72593
2026-05-26T11:49:13.900409Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72595 paired=1 still_pending=0
2026-05-26T11:49:32.842972Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=853 row_id=73884 frame_id=72598
2026-05-26T11:49:32.844740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72599 paired=1 still_pending=1
2026-05-26T11:49:33.655978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=855 row_id=73886 frame_id=72600
2026-05-26T11:49:35.947726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=856 row_id=73887 frame_id=72602
2026-05-26T11:49:36.541494Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:49:36.598815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72604 paired=1 still_pending=0
2026-05-26T11:49:36.599681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1
2026-05-26T11:49:36.638687Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7352646291973498357, trigger=click)
2026-05-26T11:49:37.262579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=click)
2026-05-26T11:49:38.317754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=859 row_id=73890 frame_id=72604
2026-05-26T11:49:38.318645Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1
2026-05-26T11:49:40.066063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72606 paired=1 still_pending=0
2026-05-26T11:49:46.459106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72609 paired=1 still_pending=0
2026-05-26T11:49:48.674179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72613 paired=1 still_pending=0
2026-05-26T11:49:50.948011Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72616 paired=1 still_pending=0
2026-05-26T11:49:51.125669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=click)
2026-05-26T11:49:52.162757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5460096227464630703, trigger=click)
2026-05-26T11:49:52.980646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72618 paired=2 still_pending=0
2026-05-26T11:49:53.014920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=typing_pause)
2026-05-26T11:49:53.866677Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=868 row_id=73900 frame_id=72618
2026-05-26T11:50:06.619028Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 39 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:50:08.741292Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 1.4MB (2.5x), 21 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:50:10.426420Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.6MB → 0.5MB (5.7x), 16 JPEGs deleted
2026-05-26T11:50:10.524291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:50:32.529154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)
2026-05-26T11:50:35.591628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)
2026-05-26T11:50:39.150221Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=869 row_id=73901 frame_id=72619
2026-05-26T11:50:39.159156Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=6 total_pairs=814 total_evicted=478 total_failed=0
2026-05-26T11:50:43.433070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=5 total_pairs=814 total_evicted=480 total_failed=0
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
2026-05-26T11:51:10.900189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:51:15.956447Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:51:21.002309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:51:23.788340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:52:11.341416Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:52:13.027743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:52:19.106403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:52:21.942050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72631 paired=1 still_pending=0
2026-05-26T11:52:21.944925Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=0 total_pairs=815 total_evicted=485 total_failed=0
2026-05-26T11:52:22.152068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:52:25.082196Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=871 row_id=73911 frame_id=72639
2026-05-26T11:52:25.532678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:26.157181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:26.288113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=872 row_id=73913 frame_id=72640
2026-05-26T11:52:26.336674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:27.105937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:27.214045Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:28.506006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=873 row_id=73914 frame_id=72640
2026-05-26T11:52:28.508205Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=874 row_id=73915 frame_id=72639
2026-05-26T11:52:34.604402Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:34.691743Z IN...
|
72668
|
NULL
|
NULL
|
NULL
|
|
72671
|
2612
|
52
|
2026-05-26T08:54:35.016141+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-26/1779 /Users/lukas/.screenpipe/data/data/2026-05-26/1779785675016_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
ggml_metal_free: deallocating
whisper_backend_init ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:44:06.555214Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:44:07.492316Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:44:08.675903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72551 paired=2 still_pending=0
2026-05-26T11:44:08.685737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=1 total_pairs=781 total_evicted=458 total_failed=0
2026-05-26T11:44:10.387358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=visual_change)
2026-05-26T11:44:12.742833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72556 paired=1 still_pending=0
2026-05-26T11:44:12.852691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=click)
2026-05-26T11:44:14.562901Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72557 paired=1 still_pending=0
2026-05-26T11:44:14.917231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3205012590499771722, trigger=click)
2026-05-26T11:44:20.118820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:44:21.797050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72560 paired=1 still_pending=0
2026-05-26T11:44:35.129034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72562 paired=1 still_pending=0
2026-05-26T11:44:38.343770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72564 paired=1 still_pending=0
2026-05-26T11:44:40.077842Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72566 paired=1 still_pending=0
2026-05-26T11:44:42.230059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:44:42.449747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72569 paired=1 still_pending=0
2026-05-26T11:44:43.652767Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72570 paired=1 still_pending=0
2026-05-26T11:45:02.508329Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=56 elapsed=3.680550959s
2026-05-26T11:45:02.508471Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 56 eligible frames
2026-05-26T11:45:04.406705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.9MB → 1.5MB (2.6x), 27 JPEGs deleted
2026-05-26T11:45:05.069774Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:06.180453Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 1.0MB (5.7x), 27 JPEGs deleted
2026-05-26T11:45:11.162097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:13.443553Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=4 total_pairs=789 total_evicted=460 total_failed=0
2026-05-26T11:45:14.231786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:18.443370Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=3 total_pairs=789 total_evicted=461 total_failed=0
2026-05-26T11:45:23.443344Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=789 total_evicted=462 total_failed=0
2026-05-26T11:45:26.485795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:32.579534Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:35.638524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:41.728975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:43.444588Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=789 total_evicted=463 total_failed=0
2026-05-26T11:45:44.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:48.445239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=0 total_pairs=789 total_evicted=466 total_failed=0
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-26T11:46:06.121735Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:46:07.317639Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:46:12.217749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:46:15.271201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:46:21.354594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:46:37.556001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72579 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:48:07.935328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)
2026-05-26T11:48:08.196678Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:49:06.065402Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72581 paired=1 still_pending=0
2026-05-26T11:49:06.068805Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=0 total_pairs=791 total_evicted=467 total_failed=0
2026-05-26T11:49:06.124972Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:49:06.359006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=845 row_id=73875 frame_id=72590
2026-05-26T11:49:06.372599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:49:06.392176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72589 paired=1 still_pending=1
2026-05-26T11:49:08.425960Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=847 row_id=73877 frame_id=72591
2026-05-26T11:49:08.427230Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=848 row_id=73878 frame_id=72591
2026-05-26T11:49:08.428191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72592 paired=1 still_pending=1
2026-05-26T11:49:11.733966Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=850 row_id=73880 frame_id=72593
2026-05-26T11:49:13.900409Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72595 paired=1 still_pending=0
2026-05-26T11:49:32.842972Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=853 row_id=73884 frame_id=72598
2026-05-26T11:49:32.844740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72599 paired=1 still_pending=1
2026-05-26T11:49:33.655978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=855 row_id=73886 frame_id=72600
2026-05-26T11:49:35.947726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=856 row_id=73887 frame_id=72602
2026-05-26T11:49:36.541494Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:49:36.598815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72604 paired=1 still_pending=0
2026-05-26T11:49:36.599681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1
2026-05-26T11:49:36.638687Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7352646291973498357, trigger=click)
2026-05-26T11:49:37.262579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=click)
2026-05-26T11:49:38.317754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=859 row_id=73890 frame_id=72604
2026-05-26T11:49:38.318645Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1
2026-05-26T11:49:40.066063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72606 paired=1 still_pending=0
2026-05-26T11:49:46.459106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72609 paired=1 still_pending=0
2026-05-26T11:49:48.674179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72613 paired=1 still_pending=0
2026-05-26T11:49:50.948011Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72616 paired=1 still_pending=0
2026-05-26T11:49:51.125669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=click)
2026-05-26T11:49:52.162757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5460096227464630703, trigger=click)
2026-05-26T11:49:52.980646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72618 paired=2 still_pending=0
2026-05-26T11:49:53.014920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=typing_pause)
2026-05-26T11:49:53.866677Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=868 row_id=73900 frame_id=72618
2026-05-26T11:50:06.619028Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 39 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:50:08.741292Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 1.4MB (2.5x), 21 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:50:10.426420Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.6MB → 0.5MB (5.7x), 16 JPEGs deleted
2026-05-26T11:50:10.524291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:50:32.529154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)
2026-05-26T11:50:35.591628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)
2026-05-26T11:50:39.150221Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=869 row_id=73901 frame_id=72619
2026-05-26T11:50:39.159156Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=6 total_pairs=814 total_evicted=478 total_failed=0
2026-05-26T11:50:43.433070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=5 total_pairs=814 total_evicted=480 total_failed=0
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
2026-05-26T11:51:10.900189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:51:15.956447Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:51:21.002309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:51:23.788340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:52:11.341416Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:52:13.027743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:52:19.106403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:52:21.942050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72631 paired=1 still_pending=0
2026-05-26T11:52:21.944925Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=0 total_pairs=815 total_evicted=485 total_failed=0
2026-05-26T11:52:22.152068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:52:25.082196Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=871 row_id=73911 frame_id=72639
2026-05-26T11:52:25.532678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:26.157181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:26.288113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=872 row_id=73913 frame_id=72640
2026-05-26T11:52:26.336674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:27.105937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:27.214045Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:28.506006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=873 row_id=73914 frame_id=72640
2026-05-26T11:52:28.508205Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=874 row_id=73915 frame_id=72639
2026-05-26T11:52:34.604402Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:34.691743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:34.909111Z INFO screenpipe_engine::event_driven_capture: content dedup: skipp...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"ggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:44:06.555214Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:44:07.492316Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:44:08.675903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72551 paired=2 still_pending=0\n2026-05-26T11:44:08.685737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=1 total_pairs=781 total_evicted=458 total_failed=0\n2026-05-26T11:44:10.387358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=visual_change)\n2026-05-26T11:44:12.742833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72556 paired=1 still_pending=0\n2026-05-26T11:44:12.852691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=click)\n2026-05-26T11:44:14.562901Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72557 paired=1 still_pending=0\n2026-05-26T11:44:14.917231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3205012590499771722, trigger=click)\n2026-05-26T11:44:20.118820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:44:21.797050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72560 paired=1 still_pending=0\n2026-05-26T11:44:35.129034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72562 paired=1 still_pending=0\n2026-05-26T11:44:38.343770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72564 paired=1 still_pending=0\n2026-05-26T11:44:40.077842Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72566 paired=1 still_pending=0\n2026-05-26T11:44:42.230059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:44:42.449747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72569 paired=1 still_pending=0\n2026-05-26T11:44:43.652767Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72570 paired=1 still_pending=0\n2026-05-26T11:45:02.508329Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=56 elapsed=3.680550959s\n2026-05-26T11:45:02.508471Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 56 eligible frames\n2026-05-26T11:45:04.406705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.9MB → 1.5MB (2.6x), 27 JPEGs deleted\n2026-05-26T11:45:05.069774Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:06.180453Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 1.0MB (5.7x), 27 JPEGs deleted\n2026-05-26T11:45:11.162097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:13.443553Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=4 total_pairs=789 total_evicted=460 total_failed=0\n2026-05-26T11:45:14.231786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:18.443370Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=3 total_pairs=789 total_evicted=461 total_failed=0\n2026-05-26T11:45:23.443344Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=789 total_evicted=462 total_failed=0\n2026-05-26T11:45:26.485795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:32.579534Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:35.638524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:41.728975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:43.444588Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=789 total_evicted=463 total_failed=0\n2026-05-26T11:45:44.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:48.445239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=0 total_pairs=789 total_evicted=466 total_failed=0\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-26T11:46:06.121735Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:46:07.317639Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:46:12.217749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:46:15.271201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:46:21.354594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:46:37.556001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72579 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:48:07.935328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:48:08.196678Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:49:06.065402Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72581 paired=1 still_pending=0\n2026-05-26T11:49:06.068805Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=0 total_pairs=791 total_evicted=467 total_failed=0\n2026-05-26T11:49:06.124972Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:49:06.359006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=845 row_id=73875 frame_id=72590\n2026-05-26T11:49:06.372599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:49:06.392176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72589 paired=1 still_pending=1\n2026-05-26T11:49:08.425960Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=847 row_id=73877 frame_id=72591\n2026-05-26T11:49:08.427230Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=848 row_id=73878 frame_id=72591\n2026-05-26T11:49:08.428191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72592 paired=1 still_pending=1\n2026-05-26T11:49:11.733966Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=850 row_id=73880 frame_id=72593\n2026-05-26T11:49:13.900409Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72595 paired=1 still_pending=0\n2026-05-26T11:49:32.842972Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=853 row_id=73884 frame_id=72598\n2026-05-26T11:49:32.844740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72599 paired=1 still_pending=1\n2026-05-26T11:49:33.655978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=855 row_id=73886 frame_id=72600\n2026-05-26T11:49:35.947726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=856 row_id=73887 frame_id=72602\n2026-05-26T11:49:36.541494Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:49:36.598815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72604 paired=1 still_pending=0\n2026-05-26T11:49:36.599681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1\n2026-05-26T11:49:36.638687Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7352646291973498357, trigger=click)\n2026-05-26T11:49:37.262579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=click)\n2026-05-26T11:49:38.317754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=859 row_id=73890 frame_id=72604\n2026-05-26T11:49:38.318645Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1\n2026-05-26T11:49:40.066063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72606 paired=1 still_pending=0\n2026-05-26T11:49:46.459106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72609 paired=1 still_pending=0\n2026-05-26T11:49:48.674179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72613 paired=1 still_pending=0\n2026-05-26T11:49:50.948011Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72616 paired=1 still_pending=0\n2026-05-26T11:49:51.125669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=click)\n2026-05-26T11:49:52.162757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5460096227464630703, trigger=click)\n2026-05-26T11:49:52.980646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72618 paired=2 still_pending=0\n2026-05-26T11:49:53.014920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=typing_pause)\n2026-05-26T11:49:53.866677Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=868 row_id=73900 frame_id=72618\n2026-05-26T11:50:06.619028Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 39 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:50:08.741292Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 1.4MB (2.5x), 21 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:50:10.426420Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.6MB → 0.5MB (5.7x), 16 JPEGs deleted\n2026-05-26T11:50:10.524291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:50:32.529154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)\n2026-05-26T11:50:35.591628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)\n2026-05-26T11:50:39.150221Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=869 row_id=73901 frame_id=72619\n2026-05-26T11:50:39.159156Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=6 total_pairs=814 total_evicted=478 total_failed=0\n2026-05-26T11:50:43.433070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=5 total_pairs=814 total_evicted=480 total_failed=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-26T11:51:10.900189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:51:15.956447Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:51:21.002309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:51:23.788340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:52:11.341416Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:52:13.027743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:52:19.106403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:52:21.942050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72631 paired=1 still_pending=0\n2026-05-26T11:52:21.944925Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=0 total_pairs=815 total_evicted=485 total_failed=0\n2026-05-26T11:52:22.152068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:52:25.082196Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=871 row_id=73911 frame_id=72639\n2026-05-26T11:52:25.532678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:26.157181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:26.288113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=872 row_id=73913 frame_id=72640\n2026-05-26T11:52:26.336674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:27.105937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:27.214045Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:28.506006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=873 row_id=73914 frame_id=72640\n2026-05-26T11:52:28.508205Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=874 row_id=73915 frame_id=72639\n2026-05-26T11:52:34.604402Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:34.691743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:34.909111Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:35.070771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72640 paired=1 still_pending=0\n2026-05-26T11:52:35.755036Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:36.387265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72639 paired=1 still_pending=0\n2026-05-26T11:52:36.436015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:36.749862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:38.073707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=877 row_id=73919 frame_id=72639\n2026-05-26T11:52:38.074722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:38.214829Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=typing_pause)\n2026-05-26T11:52:40.290047Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:46.404466Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:49.481101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:52.097338Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72639 paired=1 still_pending=0\n2026-05-26T11:53:19.477603Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72643 paired=1 still_pending=0\n2026-05-26T11:53:23.429291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72646 paired=2 still_pending=0\n2026-05-26T11:53:23.436526Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=7 total_pairs=826 total_evicted=486 total_failed=0\n2026-05-26T11:53:25.943577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72648 paired=2 still_pending=0\n2026-05-26T11:53:26.099185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=click)\n2026-05-26T11:53:27.407417Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72648 paired=2 still_pending=0\n2026-05-26T11:53:28.608898Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=1 pending_frames=3 total_pairs=830 total_evicted=490 total_failed=0\n2026-05-26T11:53:28.609107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72649 paired=1 still_pending=0\n2026-05-26T11:53:29.728345Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72650 paired=1 still_pending=0\n2026-05-26T11:53:30.709552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:53:36.835194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 99.6ms elapsed (expected 5.3ms) → inserting 94.2ms silence (9045 samples)\n2026-05-26T11:53:38.616982Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=1 total_pairs=832 total_evicted=492 total_failed=0\n2026-05-26T11:53:38.617174Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72650 paired=1 still_pending=0\n2026-05-26T11:53:38.635072Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72651 paired=1 still_pending=7\n2026-05-26T11:53:40.041863Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.1ms elapsed (expected 5.3ms) → inserting 79.8ms silence (7662 samples)\n2026-05-26T11:53:40.318684Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 127.3ms elapsed (expected 5.3ms) → inserting 122.0ms silence (11708 samples)\n2026-05-26T11:53:45.377540Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72654 paired=1 still_pending=0\n2026-05-26T11:53:45.595817Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4945213277597655644, trigger=click)\n2026-05-26T11:53:46.783874Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72655 paired=1 still_pending=0\n2026-05-26T11:53:46.992980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4945213277597655644, trigger=click)\n2026-05-26T11:53:47.991405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72655 paired=1 still_pending=0\n2026-05-26T11:53:51.043414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72656 paired=1 still_pending=0\n2026-05-26T11:53:51.735409Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)\n2026-05-26T11:53:54.365420Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=894 row_id=73941 frame_id=72657\n2026-05-26T11:53:54.369056Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=895 row_id=73942 frame_id=72657\n2026-05-26T11:53:54.370851Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=896 row_id=73943 frame_id=72657\n2026-05-26T11:54:02.126616Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72660 paired=1 still_pending=0\n2026-05-26T11:54:04.072011Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:54:07.154705Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:54:12.287314Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:54:19.317480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:54:19.931997Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72662 paired=1 still_pending=0\n2026-05-26T11:54:24.098435Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=3 total_pairs=843 total_evicted=493 total_failed=0\n2026-05-26T11:54:24.098600Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72664 paired=1 still_pending=0\n2026-05-26T11:54:24.099988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72665 paired=1 still_pending=3\n2026-05-26T11:54:26.952148Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4945213277597655644, trigger=click)\n2026-05-26T11:54:28.843648Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72666 paired=1 still_pending=0\n2026-05-26T11:54:28.977387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4945213277597655644, trigger=click)\n2026-05-26T11:54:29.100646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=902 row_id=73950 frame_id=72664\n2026-05-26T11:54:29.230601Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72667 paired=2 still_pending=1\n2026-05-26T11:54:31.842792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72668 paired=1 still_pending=0\n2026-05-26T11:54:33.651044Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5748049749317027204, trigger=visual_change)\n2026-05-26T11:54:33.775059Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72669 paired=2 still_pending=0\n2026-05-26T11:54:34.289479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9033884211782954359, trigger=visual_change)\n2026-05-26T11:54:34.658869Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72670 paired=2 still_pending=0","depth":4,"on_screen":true,"value":"ggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:44:06.555214Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:44:07.492316Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:44:08.675903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72551 paired=2 still_pending=0\n2026-05-26T11:44:08.685737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=1 total_pairs=781 total_evicted=458 total_failed=0\n2026-05-26T11:44:10.387358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=visual_change)\n2026-05-26T11:44:12.742833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72556 paired=1 still_pending=0\n2026-05-26T11:44:12.852691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=click)\n2026-05-26T11:44:14.562901Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72557 paired=1 still_pending=0\n2026-05-26T11:44:14.917231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3205012590499771722, trigger=click)\n2026-05-26T11:44:20.118820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:44:21.797050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72560 paired=1 still_pending=0\n2026-05-26T11:44:35.129034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72562 paired=1 still_pending=0\n2026-05-26T11:44:38.343770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72564 paired=1 still_pending=0\n2026-05-26T11:44:40.077842Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72566 paired=1 still_pending=0\n2026-05-26T11:44:42.230059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:44:42.449747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72569 paired=1 still_pending=0\n2026-05-26T11:44:43.652767Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72570 paired=1 still_pending=0\n2026-05-26T11:45:02.508329Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=56 elapsed=3.680550959s\n2026-05-26T11:45:02.508471Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 56 eligible frames\n2026-05-26T11:45:04.406705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.9MB → 1.5MB (2.6x), 27 JPEGs deleted\n2026-05-26T11:45:05.069774Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:06.180453Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 1.0MB (5.7x), 27 JPEGs deleted\n2026-05-26T11:45:11.162097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:13.443553Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=4 total_pairs=789 total_evicted=460 total_failed=0\n2026-05-26T11:45:14.231786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:18.443370Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=3 total_pairs=789 total_evicted=461 total_failed=0\n2026-05-26T11:45:23.443344Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=789 total_evicted=462 total_failed=0\n2026-05-26T11:45:26.485795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:32.579534Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:35.638524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:41.728975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:43.444588Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=789 total_evicted=463 total_failed=0\n2026-05-26T11:45:44.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:45:48.445239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=0 total_pairs=789 total_evicted=466 total_failed=0\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-26T11:46:06.121735Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:46:07.317639Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:46:12.217749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:46:15.271201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:46:21.354594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:46:37.556001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72579 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:48:07.935328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:48:08.196678Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:49:06.065402Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72581 paired=1 still_pending=0\n2026-05-26T11:49:06.068805Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=0 total_pairs=791 total_evicted=467 total_failed=0\n2026-05-26T11:49:06.124972Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:49:06.359006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=845 row_id=73875 frame_id=72590\n2026-05-26T11:49:06.372599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:49:06.392176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72589 paired=1 still_pending=1\n2026-05-26T11:49:08.425960Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=847 row_id=73877 frame_id=72591\n2026-05-26T11:49:08.427230Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=848 row_id=73878 frame_id=72591\n2026-05-26T11:49:08.428191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72592 paired=1 still_pending=1\n2026-05-26T11:49:11.733966Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=850 row_id=73880 frame_id=72593\n2026-05-26T11:49:13.900409Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72595 paired=1 still_pending=0\n2026-05-26T11:49:32.842972Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=853 row_id=73884 frame_id=72598\n2026-05-26T11:49:32.844740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72599 paired=1 still_pending=1\n2026-05-26T11:49:33.655978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=855 row_id=73886 frame_id=72600\n2026-05-26T11:49:35.947726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=856 row_id=73887 frame_id=72602\n2026-05-26T11:49:36.541494Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)\n2026-05-26T11:49:36.598815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72604 paired=1 still_pending=0\n2026-05-26T11:49:36.599681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1\n2026-05-26T11:49:36.638687Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7352646291973498357, trigger=click)\n2026-05-26T11:49:37.262579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=click)\n2026-05-26T11:49:38.317754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=859 row_id=73890 frame_id=72604\n2026-05-26T11:49:38.318645Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1\n2026-05-26T11:49:40.066063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72606 paired=1 still_pending=0\n2026-05-26T11:49:46.459106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72609 paired=1 still_pending=0\n2026-05-26T11:49:48.674179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72613 paired=1 still_pending=0\n2026-05-26T11:49:50.948011Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72616 paired=1 still_pending=0\n2026-05-26T11:49:51.125669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=click)\n2026-05-26T11:49:52.162757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5460096227464630703, trigger=click)\n2026-05-26T11:49:52.980646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72618 paired=2 still_pending=0\n2026-05-26T11:49:53.014920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=typing_pause)\n2026-05-26T11:49:53.866677Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=868 row_id=73900 frame_id=72618\n2026-05-26T11:50:06.619028Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 39 eligible frames\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:50:08.741292Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 1.4MB (2.5x), 21 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:50:10.426420Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.6MB → 0.5MB (5.7x), 16 JPEGs deleted\n2026-05-26T11:50:10.524291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:50:32.529154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)\n2026-05-26T11:50:35.591628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)\n2026-05-26T11:50:39.150221Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=869 row_id=73901 frame_id=72619\n2026-05-26T11:50:39.159156Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=6 total_pairs=814 total_evicted=478 total_failed=0\n2026-05-26T11:50:43.433070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=5 total_pairs=814 total_evicted=480 total_failed=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-26T11:51:10.900189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:51:15.956447Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:51:21.002309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:51:23.788340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:52:11.341416Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:52:13.027743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:52:19.106403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:52:21.942050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72631 paired=1 still_pending=0\n2026-05-26T11:52:21.944925Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=0 total_pairs=815 total_evicted=485 total_failed=0\n2026-05-26T11:52:22.152068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)\n2026-05-26T11:52:25.082196Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=871 row_id=73911 frame_id=72639\n2026-05-26T11:52:25.532678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:26.157181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:26.288113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=872 row_id=73913 frame_id=72640\n2026-05-26T11:52:26.336674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:27.105937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:27.214045Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:28.506006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=873 row_id=73914 frame_id=72640\n2026-05-26T11:52:28.508205Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=874 row_id=73915 frame_id=72639\n2026-05-26T11:52:34.604402Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:34.691743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:34.909111Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:35.070771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72640 paired=1 still_pending=0\n2026-05-26T11:52:35.755036Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:36.387265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72639 paired=1 still_pending=0\n2026-05-26T11:52:36.436015Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:36.749862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:52:38.073707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=877 row_id=73919 frame_id=72639\n2026-05-26T11:52:38.074722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:38.214829Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=typing_pause)\n2026-05-26T11:52:40.290047Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:46.404466Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:49.481101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:52:52.097338Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72639 paired=1 still_pending=0\n2026-05-26T11:53:19.477603Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72643 paired=1 still_pending=0\n2026-05-26T11:53:23.429291Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72646 paired=2 still_pending=0\n2026-05-26T11:53:23.436526Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=7 total_pairs=826 total_evicted=486 total_failed=0\n2026-05-26T11:53:25.943577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72648 paired=2 still_pending=0\n2026-05-26T11:53:26.099185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=click)\n2026-05-26T11:53:27.407417Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72648 paired=2 still_pending=0\n2026-05-26T11:53:28.608898Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=1 pending_frames=3 total_pairs=830 total_evicted=490 total_failed=0\n2026-05-26T11:53:28.609107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72649 paired=1 still_pending=0\n2026-05-26T11:53:29.728345Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72650 paired=1 still_pending=0\n2026-05-26T11:53:30.709552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)\n2026-05-26T11:53:36.835194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 99.6ms elapsed (expected 5.3ms) → inserting 94.2ms silence (9045 samples)\n2026-05-26T11:53:38.616982Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=1 total_pairs=832 total_evicted=492 total_failed=0\n2026-05-26T11:53:38.617174Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72650 paired=1 still_pending=0\n2026-05-26T11:53:38.635072Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72651 paired=1 still_pending=7\n2026-05-26T11:53:40.041863Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.1ms elapsed (expected 5.3ms) → inserting 79.8ms silence (7662 samples)\n2026-05-26T11:53:40.318684Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 127.3ms elapsed (expected 5.3ms) → inserting 122.0ms silence (11708 samples)\n2026-05-26T11:53:45.377540Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72654 paired=1 still_pending=0\n2026-05-26T11:53:45.595817Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4945213277597655644, trigger=click)\n2026-05-26T11:53:46.783874Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72655 paired=1 still_pending=0\n2026-05-26T11:53:46.992980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4945213277597655644, trigger=click)\n2026-05-26T11:53:47.991405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72655 paired=1 still_pending=0\n2026-05-26T11:53:51.043414Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72656 paired=1 still_pending=0\n2026-05-26T11:53:51.735409Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)\n2026-05-26T11:53:54.365420Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=894 row_id=73941 frame_id=72657\n2026-05-26T11:53:54.369056Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=895 row_id=73942 frame_id=72657\n2026-05-26T11:53:54.370851Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=896 row_id=73943 frame_id=72657\n2026-05-26T11:54:02.126616Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72660 paired=1 still_pending=0\n2026-05-26T11:54:04.072011Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:54:07.154705Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T11:54:12.287314Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T11:54:19.317480Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)\n2026-05-26T11:54:19.931997Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72662 paired=1 still_pending=0\n2026-05-26T11:54:24.098435Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=3 total_pairs=843 total_evicted=493 total_failed=0\n2026-05-26T11:54:24.098600Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72664 paired=1 still_pending=0\n2026-05-26T11:54:24.099988Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72665 paired=1 still_pending=3\n2026-05-26T11:54:26.952148Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4945213277597655644, trigger=click)\n2026-05-26T11:54:28.843648Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72666 paired=1 still_pending=0\n2026-05-26T11:54:28.977387Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4945213277597655644, trigger=click)\n2026-05-26T11:54:29.100646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=902 row_id=73950 frame_id=72664\n2026-05-26T11:54:29.230601Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72667 paired=2 still_pending=1\n2026-05-26T11:54:31.842792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72668 paired=1 still_pending=0\n2026-05-26T11:54:33.651044Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5748049749317027204, trigger=visual_change)\n2026-05-26T11:54:33.775059Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72669 paired=2 still_pending=0\n2026-05-26T11:54:34.289479Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-9033884211782954359, trigger=visual_change)\n2026-05-26T11:54:34.658869Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72670 paired=2 still_pending=0","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.0013888889,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.19444445,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.19861111,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.39166668,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.39583334,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5888889,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.59305555,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.7861111,"top":0.05888889,"width":0.19722222,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.7902778,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.46944445,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-7169947177727781962
|
-6580810982217681439
|
click
|
accessibility
|
NULL
|
ggml_metal_free: deallocating
whisper_backend_init ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:44:06.555214Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:44:07.492316Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:44:08.675903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72551 paired=2 still_pending=0
2026-05-26T11:44:08.685737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=1 total_pairs=781 total_evicted=458 total_failed=0
2026-05-26T11:44:10.387358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=visual_change)
2026-05-26T11:44:12.742833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72556 paired=1 still_pending=0
2026-05-26T11:44:12.852691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=click)
2026-05-26T11:44:14.562901Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72557 paired=1 still_pending=0
2026-05-26T11:44:14.917231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3205012590499771722, trigger=click)
2026-05-26T11:44:20.118820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:44:21.797050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72560 paired=1 still_pending=0
2026-05-26T11:44:35.129034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72562 paired=1 still_pending=0
2026-05-26T11:44:38.343770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72564 paired=1 still_pending=0
2026-05-26T11:44:40.077842Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72566 paired=1 still_pending=0
2026-05-26T11:44:42.230059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:44:42.449747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72569 paired=1 still_pending=0
2026-05-26T11:44:43.652767Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72570 paired=1 still_pending=0
2026-05-26T11:45:02.508329Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=56 elapsed=3.680550959s
2026-05-26T11:45:02.508471Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 56 eligible frames
2026-05-26T11:45:04.406705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.9MB → 1.5MB (2.6x), 27 JPEGs deleted
2026-05-26T11:45:05.069774Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:06.180453Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 1.0MB (5.7x), 27 JPEGs deleted
2026-05-26T11:45:11.162097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:13.443553Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=4 total_pairs=789 total_evicted=460 total_failed=0
2026-05-26T11:45:14.231786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:18.443370Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=3 total_pairs=789 total_evicted=461 total_failed=0
2026-05-26T11:45:23.443344Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=789 total_evicted=462 total_failed=0
2026-05-26T11:45:26.485795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:32.579534Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:35.638524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:41.728975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:43.444588Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=789 total_evicted=463 total_failed=0
2026-05-26T11:45:44.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:48.445239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=0 total_pairs=789 total_evicted=466 total_failed=0
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-26T11:46:06.121735Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:46:07.317639Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:46:12.217749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:46:15.271201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:46:21.354594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:46:37.556001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72579 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:48:07.935328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)
2026-05-26T11:48:08.196678Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:49:06.065402Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72581 paired=1 still_pending=0
2026-05-26T11:49:06.068805Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=0 total_pairs=791 total_evicted=467 total_failed=0
2026-05-26T11:49:06.124972Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:49:06.359006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=845 row_id=73875 frame_id=72590
2026-05-26T11:49:06.372599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:49:06.392176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72589 paired=1 still_pending=1
2026-05-26T11:49:08.425960Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=847 row_id=73877 frame_id=72591
2026-05-26T11:49:08.427230Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=848 row_id=73878 frame_id=72591
2026-05-26T11:49:08.428191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72592 paired=1 still_pending=1
2026-05-26T11:49:11.733966Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=850 row_id=73880 frame_id=72593
2026-05-26T11:49:13.900409Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72595 paired=1 still_pending=0
2026-05-26T11:49:32.842972Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=853 row_id=73884 frame_id=72598
2026-05-26T11:49:32.844740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72599 paired=1 still_pending=1
2026-05-26T11:49:33.655978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=855 row_id=73886 frame_id=72600
2026-05-26T11:49:35.947726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=856 row_id=73887 frame_id=72602
2026-05-26T11:49:36.541494Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:49:36.598815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72604 paired=1 still_pending=0
2026-05-26T11:49:36.599681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1
2026-05-26T11:49:36.638687Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7352646291973498357, trigger=click)
2026-05-26T11:49:37.262579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=click)
2026-05-26T11:49:38.317754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=859 row_id=73890 frame_id=72604
2026-05-26T11:49:38.318645Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1
2026-05-26T11:49:40.066063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72606 paired=1 still_pending=0
2026-05-26T11:49:46.459106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72609 paired=1 still_pending=0
2026-05-26T11:49:48.674179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72613 paired=1 still_pending=0
2026-05-26T11:49:50.948011Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72616 paired=1 still_pending=0
2026-05-26T11:49:51.125669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=click)
2026-05-26T11:49:52.162757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5460096227464630703, trigger=click)
2026-05-26T11:49:52.980646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72618 paired=2 still_pending=0
2026-05-26T11:49:53.014920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=typing_pause)
2026-05-26T11:49:53.866677Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=868 row_id=73900 frame_id=72618
2026-05-26T11:50:06.619028Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 39 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:50:08.741292Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 1.4MB (2.5x), 21 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:50:10.426420Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.6MB → 0.5MB (5.7x), 16 JPEGs deleted
2026-05-26T11:50:10.524291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:50:32.529154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)
2026-05-26T11:50:35.591628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)
2026-05-26T11:50:39.150221Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=869 row_id=73901 frame_id=72619
2026-05-26T11:50:39.159156Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=6 total_pairs=814 total_evicted=478 total_failed=0
2026-05-26T11:50:43.433070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=5 total_pairs=814 total_evicted=480 total_failed=0
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
2026-05-26T11:51:10.900189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:51:15.956447Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:51:21.002309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:51:23.788340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:52:11.341416Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:52:13.027743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:52:19.106403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:52:21.942050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72631 paired=1 still_pending=0
2026-05-26T11:52:21.944925Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=0 total_pairs=815 total_evicted=485 total_failed=0
2026-05-26T11:52:22.152068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:52:25.082196Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=871 row_id=73911 frame_id=72639
2026-05-26T11:52:25.532678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:26.157181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:26.288113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=872 row_id=73913 frame_id=72640
2026-05-26T11:52:26.336674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:27.105937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:27.214045Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:28.506006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=873 row_id=73914 frame_id=72640
2026-05-26T11:52:28.508205Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=874 row_id=73915 frame_id=72639
2026-05-26T11:52:34.604402Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:34.691743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:34.909111Z INFO screenpipe_engine::event_driven_capture: content dedup: skipp...
|
72670
|
NULL
|
NULL
|
NULL
|
|
72707
|
2615
|
0
|
2026-05-26T17:34:49.442907+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-26/1779 /Users/lukas/.screenpipe/data/data/2026-05-26/1779816889442_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue May 26 11:58:03 on ttys007
Poetry Last login: Tue May 26 11:58:03 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 11:49 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 11:58 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 12:02 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 12:05 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
vendor_old/
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ gbr
JY-20891-fix-alias-mismatch-on-sms-text-relay
* master
JY-20963-fix-import-on-deleted-entity
JY-20915-add-domain-specific-email-text-relay
JY-20676-delete-report-related-objects
JY-20613-allow-owner-role-on-team-setup
JY-20725-handle-HS-search-rate-limit
pipedrive-sdk-poc
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'
Your branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master
Merge made by the 'ort' strategy.
contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------
front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----
front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--
front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-
front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------
routes/api_v2.php | 6 +++---
tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------
7 files changed, 61 insertions(+), 46 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
Refresh index: 100% (9182/9182), done.
On branch JY-20891-fix-alias-mismatch-on-sms-text-relay
Your branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.
(use "git push" to publish your local commits)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
modified: tests/Unit/Services/Mail/TextRelayServiceTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start
sp-start='npx screenpipe@latest record --disable-audio --ignored-windows "Boosteroid"'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20
Now using node v20.20.2 (npm v10.8.2)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
Need to install the following packages:
screenpipe@0.3.347
Ok to proceed? (y) yes
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
tip: get the desktop app for chat, timeline, and search UI
→ https://screenpi.pe/onboarding
2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ MacBook Pro Microphone (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture
2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)
2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff
2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)
2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.658438Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=0 rows_returned=1511 elapsed=1.137431917s
2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC
2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
⌥⌘1
screenpipe"...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue May 26 11:58:03 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll\ntotal 40\ndrwx------ 16 lukas staff 512 3 Nov 2025 .\ndrwx------+ 96 lukas staff 3072 26 May 11:58 ..\n-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store\ndrwx------ 26 lukas staff 832 30 Sep 2024 .idea\ndrwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode\ndrwx------ 3 lukas staff 96 1 Nov 2021 .yarn\n-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc\ndrwx------ 78 lukas staff 2496 26 May 11:49 app\n-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem\ndrwx------ 25 lukas staff 800 10 Mar 2025 extension-app\ndrwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app\ndrwx------ 21 lukas staff 672 26 May 11:33 infrastructure\ndrwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services\ndrwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet\ndrwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components\ndrwxr-xr-x 2 lukas staff 64 16 Oct 2025 web\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll\ntotal 80\ndrwx------ 21 lukas staff 672 26 May 11:33 .\ndrwx------ 16 lukas staff 512 3 Nov 2025 ..\n-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store\n-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig\ndrwx------ 14 lukas staff 448 26 May 11:58 .git\ndrwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github\n-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore\ndrwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea\n-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml\n-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile\n-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md\ndrwx------ 7 lukas staff 224 26 May 11:33 dev\ndrwx------ 5 lukas staff 160 29 Oct 2021 docs\ndrwx------ 6 lukas staff 192 29 Oct 2021 images\ndrwx------ 14 lukas staff 448 26 May 11:33 jiminny\ndrwx------ 14 lukas staff 448 24 Mar 2025 packer\ndrwx------ 4 lukas staff 128 29 Oct 2021 qa\ndrwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3\ndrwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts\ndrwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf\ndrwx------ 6 lukas staff 192 12 Oct 2023 tools\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update\naws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin https://438740370364.dkr.ecr.us-east-2.amazonaws.com\nLogin Succeeded\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\nphp-8.5: Pulling from jiminny/app/qa\nDigest: sha256:92b2c3b1ce5badf9f7add1f42efe3636e3d8ef50ee1b1fd66f7c7dfc539cbf3c\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\narm64v8-php-8.5: Pulling from jiminny/app/qa\nDigest: sha256:d6b7ebd9b71c0480b909d77fceada3df720c6594e4c853228765509b36f52db6\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll\ntotal 40\ndrwx------ 16 lukas staff 512 3 Nov 2025 .\ndrwx------+ 96 lukas staff 3072 26 May 11:58 ..\n-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store\ndrwx------ 26 lukas staff 832 30 Sep 2024 .idea\ndrwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode\ndrwx------ 3 lukas staff 96 1 Nov 2021 .yarn\n-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc\ndrwx------ 78 lukas staff 2496 26 May 12:02 app\n-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem\ndrwx------ 25 lukas staff 800 10 Mar 2025 extension-app\ndrwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app\ndrwx------ 21 lukas staff 672 26 May 11:33 infrastructure\ndrwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services\ndrwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet\ndrwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components\ndrwxr-xr-x 2 lukas staff 64 16 Oct 2025 web\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll\ntotal 80\ndrwx------ 21 lukas staff 672 26 May 11:33 .\ndrwx------ 16 lukas staff 512 3 Nov 2025 ..\n-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store\n-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig\ndrwx------ 14 lukas staff 448 26 May 12:05 .git\ndrwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github\n-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore\ndrwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea\n-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml\n-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile\n-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md\ndrwx------ 7 lukas staff 224 26 May 11:33 dev\ndrwx------ 5 lukas staff 160 29 Oct 2021 docs\ndrwx------ 6 lukas staff 192 29 Oct 2021 images\ndrwx------ 14 lukas staff 448 26 May 11:33 jiminny\ndrwx------ 14 lukas staff 448 24 Mar 2025 packer\ndrwx------ 4 lukas staff 128 29 Oct 2021 qa\ndrwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3\ndrwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts\ndrwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf\ndrwx------ 6 lukas staff 192 12 Oct 2023 tools\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update\naws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin https://438740370364.dkr.ecr.us-east-2.amazonaws.com\nLogin Succeeded\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\nphp-8.5: Pulling from jiminny/app/qa\nDigest: sha256:92b2c3b1ce5badf9f7add1f42efe3636e3d8ef50ee1b1fd66f7c7dfc539cbf3c\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\narm64v8-php-8.5: Pulling from jiminny/app/qa\nDigest: sha256:d6b7ebd9b71c0480b909d77fceada3df720c6594e4c853228765509b36f52db6\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status\nOn branch master\nYour branch is up to date with 'origin/master'.\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: Makefile\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: artisan\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: bootstrap/autoload.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tvendor_old/\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-emails:worker-emails_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker-analytics:worker-analytics_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-nudges:worker-nudges_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: ERROR (spawn error)\nworker:worker_00: ERROR (spawn error)\nworker-audio:worker-audio_00: ERROR (spawn error)\nworker-calendar:worker-calendar_00: ERROR (spawn error)\nworker-conferences:worker-conferences_00: ERROR (spawn error)\nworker-crm-sync:worker-crm-sync_00: ERROR (spawn error)\nworker-emails:worker-emails_00: ERROR (spawn error)\nworker-es-update:worker-es-update_00: ERROR (spawn error)\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nmake: *** [docker-xdebug-disable] Error 7\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ gbr\n JY-20891-fix-alias-mismatch-on-sms-text-relay\n* master\n JY-20963-fix-import-on-deleted-entity\n JY-20915-add-domain-specific-email-text-relay\n JY-20676-delete-report-related-objects\n JY-20613-allow-owner-role-on-team-setup\n JY-20725-handle-HS-search-rate-limit\n pipedrive-sdk-poc\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tMakefile\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tartisan\nM\u0000\u0000\u0000\u0000\u0000\u0000\tbootstrap/autoload.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'\nYour branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master\nMerge made by the 'ort' strategy.\n contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------\n front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----\n front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--\n front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-\n front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------\n routes/api_v2.php | 6 +++---\n tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------\n 7 files changed, 61 insertions(+), 46 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status\nRefresh index: 100% (9182/9182), done.\nOn branch JY-20891-fix-alias-mismatch-on-sms-text-relay\nYour branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: Makefile\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: artisan\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: bootstrap/autoload.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Services/Mail/TextRelayServiceTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tMakefile\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tartisan\nM\u0000\u0000\u0000\u0000\u0000\u0000\tbootstrap/autoload.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is up to date with 'origin/master'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\n\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.346 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\n\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.346 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.347\nOk to proceed? (y) yes\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture\n2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff\n2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)\n2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T20:34:48.658438Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=1511 elapsed=1.137431917s\n2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC\n2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)","depth":4,"on_screen":true,"value":"Last login: Tue May 26 11:58:03 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll\ntotal 40\ndrwx------ 16 lukas staff 512 3 Nov 2025 .\ndrwx------+ 96 lukas staff 3072 26 May 11:58 ..\n-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store\ndrwx------ 26 lukas staff 832 30 Sep 2024 .idea\ndrwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode\ndrwx------ 3 lukas staff 96 1 Nov 2021 .yarn\n-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc\ndrwx------ 78 lukas staff 2496 26 May 11:49 app\n-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem\ndrwx------ 25 lukas staff 800 10 Mar 2025 extension-app\ndrwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app\ndrwx------ 21 lukas staff 672 26 May 11:33 infrastructure\ndrwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services\ndrwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet\ndrwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components\ndrwxr-xr-x 2 lukas staff 64 16 Oct 2025 web\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll\ntotal 80\ndrwx------ 21 lukas staff 672 26 May 11:33 .\ndrwx------ 16 lukas staff 512 3 Nov 2025 ..\n-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store\n-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig\ndrwx------ 14 lukas staff 448 26 May 11:58 .git\ndrwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github\n-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore\ndrwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea\n-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml\n-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile\n-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md\ndrwx------ 7 lukas staff 224 26 May 11:33 dev\ndrwx------ 5 lukas staff 160 29 Oct 2021 docs\ndrwx------ 6 lukas staff 192 29 Oct 2021 images\ndrwx------ 14 lukas staff 448 26 May 11:33 jiminny\ndrwx------ 14 lukas staff 448 24 Mar 2025 packer\ndrwx------ 4 lukas staff 128 29 Oct 2021 qa\ndrwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3\ndrwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts\ndrwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf\ndrwx------ 6 lukas staff 192 12 Oct 2023 tools\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update\naws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin https://438740370364.dkr.ecr.us-east-2.amazonaws.com\nLogin Succeeded\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\nphp-8.5: Pulling from jiminny/app/qa\nDigest: sha256:92b2c3b1ce5badf9f7add1f42efe3636e3d8ef50ee1b1fd66f7c7dfc539cbf3c\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\narm64v8-php-8.5: Pulling from jiminny/app/qa\nDigest: sha256:d6b7ebd9b71c0480b909d77fceada3df720c6594e4c853228765509b36f52db6\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll\ntotal 40\ndrwx------ 16 lukas staff 512 3 Nov 2025 .\ndrwx------+ 96 lukas staff 3072 26 May 11:58 ..\n-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store\ndrwx------ 26 lukas staff 832 30 Sep 2024 .idea\ndrwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode\ndrwx------ 3 lukas staff 96 1 Nov 2021 .yarn\n-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc\ndrwx------ 78 lukas staff 2496 26 May 12:02 app\n-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem\ndrwx------ 25 lukas staff 800 10 Mar 2025 extension-app\ndrwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app\ndrwx------ 21 lukas staff 672 26 May 11:33 infrastructure\ndrwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services\ndrwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet\ndrwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components\ndrwxr-xr-x 2 lukas staff 64 16 Oct 2025 web\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll\ntotal 80\ndrwx------ 21 lukas staff 672 26 May 11:33 .\ndrwx------ 16 lukas staff 512 3 Nov 2025 ..\n-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store\n-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig\ndrwx------ 14 lukas staff 448 26 May 12:05 .git\ndrwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github\n-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore\ndrwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea\n-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml\n-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile\n-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md\ndrwx------ 7 lukas staff 224 26 May 11:33 dev\ndrwx------ 5 lukas staff 160 29 Oct 2021 docs\ndrwx------ 6 lukas staff 192 29 Oct 2021 images\ndrwx------ 14 lukas staff 448 26 May 11:33 jiminny\ndrwx------ 14 lukas staff 448 24 Mar 2025 packer\ndrwx------ 4 lukas staff 128 29 Oct 2021 qa\ndrwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3\ndrwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts\ndrwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf\ndrwx------ 6 lukas staff 192 12 Oct 2023 tools\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update\naws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin https://438740370364.dkr.ecr.us-east-2.amazonaws.com\nLogin Succeeded\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\nphp-8.5: Pulling from jiminny/app/qa\nDigest: sha256:92b2c3b1ce5badf9f7add1f42efe3636e3d8ef50ee1b1fd66f7c7dfc539cbf3c\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\narm64v8-php-8.5: Pulling from jiminny/app/qa\nDigest: sha256:d6b7ebd9b71c0480b909d77fceada3df720c6594e4c853228765509b36f52db6\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status\nOn branch master\nYour branch is up to date with 'origin/master'.\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: Makefile\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: artisan\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: bootstrap/autoload.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tvendor_old/\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-emails:worker-emails_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker-analytics:worker-analytics_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-nudges:worker-nudges_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: ERROR (spawn error)\nworker:worker_00: ERROR (spawn error)\nworker-audio:worker-audio_00: ERROR (spawn error)\nworker-calendar:worker-calendar_00: ERROR (spawn error)\nworker-conferences:worker-conferences_00: ERROR (spawn error)\nworker-crm-sync:worker-crm-sync_00: ERROR (spawn error)\nworker-emails:worker-emails_00: ERROR (spawn error)\nworker-es-update:worker-es-update_00: ERROR (spawn error)\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nmake: *** [docker-xdebug-disable] Error 7\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ gbr\n JY-20891-fix-alias-mismatch-on-sms-text-relay\n* master\n JY-20963-fix-import-on-deleted-entity\n JY-20915-add-domain-specific-email-text-relay\n JY-20676-delete-report-related-objects\n JY-20613-allow-owner-role-on-team-setup\n JY-20725-handle-HS-search-rate-limit\n pipedrive-sdk-poc\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tMakefile\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tartisan\nM\u0000\u0000\u0000\u0000\u0000\u0000\tbootstrap/autoload.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'\nYour branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master\nMerge made by the 'ort' strategy.\n contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------\n front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----\n front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--\n front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-\n front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------\n routes/api_v2.php | 6 +++---\n tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------\n 7 files changed, 61 insertions(+), 46 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status\nRefresh index: 100% (9182/9182), done.\nOn branch JY-20891-fix-alias-mismatch-on-sms-text-relay\nYour branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: Makefile\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: artisan\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: bootstrap/autoload.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Services/Mail/TextRelayServiceTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tMakefile\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tartisan\nM\u0000\u0000\u0000\u0000\u0000\u0000\tbootstrap/autoload.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is up to date with 'origin/master'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\n\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.346 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\n\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.346 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.347\nOk to proceed? (y) yes\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture\n2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff\n2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)\n2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T20:34:48.658438Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=1511 elapsed=1.137431917s\n2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC\n2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.11768617,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (docker)","depth":2,"bounds":{"left":0.3879654,"top":1.0,"width":0.11768617,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.3899601,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.11768617,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.62333775,"top":1.0,"width":0.11768617,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6253325,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4956782,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-7303762452606386126
|
-1715882311887831454
|
manual
|
accessibility
|
NULL
|
Last login: Tue May 26 11:58:03 on ttys007
Poetry Last login: Tue May 26 11:58:03 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 11:49 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 11:58 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 12:02 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 12:05 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
vendor_old/
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ gbr
JY-20891-fix-alias-mismatch-on-sms-text-relay
* master
JY-20963-fix-import-on-deleted-entity
JY-20915-add-domain-specific-email-text-relay
JY-20676-delete-report-related-objects
JY-20613-allow-owner-role-on-team-setup
JY-20725-handle-HS-search-rate-limit
pipedrive-sdk-poc
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'
Your branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master
Merge made by the 'ort' strategy.
contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------
front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----
front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--
front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-
front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------
routes/api_v2.php | 6 +++---
tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------
7 files changed, 61 insertions(+), 46 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
Refresh index: 100% (9182/9182), done.
On branch JY-20891-fix-alias-mismatch-on-sms-text-relay
Your branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.
(use "git push" to publish your local commits)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
modified: tests/Unit/Services/Mail/TextRelayServiceTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start
sp-start='npx screenpipe@latest record --disable-audio --ignored-windows "Boosteroid"'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20
Now using node v20.20.2 (npm v10.8.2)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
Need to install the following packages:
screenpipe@0.3.347
Ok to proceed? (y) yes
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
tip: get the desktop app for chat, timeline, and search UI
→ https://screenpi.pe/onboarding
2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ MacBook Pro Microphone (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture
2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)
2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff
2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)
2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.658438Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=0 rows_returned=1511 elapsed=1.137431917s
2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC
2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
⌥⌘1
screenpipe"...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
72708
|
2614
|
0
|
2026-05-26T17:34:49.007669+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-26/1779 /Users/lukas/.screenpipe/data/data/2026-05-26/1779816889007_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue May 26 11:58:03 on ttys007
Poetry Last login: Tue May 26 11:58:03 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 11:49 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 11:58 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 12:02 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 12:05 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
vendor_old/
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ gbr
JY-20891-fix-alias-mismatch-on-sms-text-relay
* master
JY-20963-fix-import-on-deleted-entity
JY-20915-add-domain-specific-email-text-relay
JY-20676-delete-report-related-objects
JY-20613-allow-owner-role-on-team-setup
JY-20725-handle-HS-search-rate-limit
pipedrive-sdk-poc
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'
Your branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master
Merge made by the 'ort' strategy.
contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------
front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----
front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--
front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-
front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------
routes/api_v2.php | 6 +++---
tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------
7 files changed, 61 insertions(+), 46 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
Refresh index: 100% (9182/9182), done.
On branch JY-20891-fix-alias-mismatch-on-sms-text-relay
Your branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.
(use "git push" to publish your local commits)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
modified: tests/Unit/Services/Mail/TextRelayServiceTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start
sp-start='npx screenpipe@latest record --disable-audio --ignored-windows "Boosteroid"'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20
Now using node v20.20.2 (npm v10.8.2)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
Need to install the following packages:
screenpipe@0.3.347
Ok to proceed? (y) yes
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
tip: get the desktop app for chat, timeline, and search UI
→ https://screenpi.pe/onboarding
2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ MacBook Pro Microphone (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture
2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)
2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff
2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)
2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.658438Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=0 rows_returned=1511 elapsed=1.137431917s
2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC
2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-26T20:34:50.005494Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=72707, dur=68ms
2026-05-26T20:34:50.012484Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
⌥⌘1
screenpipe"...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue May 26 11:58:03 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll\ntotal 40\ndrwx------ 16 lukas staff 512 3 Nov 2025 .\ndrwx------+ 96 lukas staff 3072 26 May 11:58 ..\n-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store\ndrwx------ 26 lukas staff 832 30 Sep 2024 .idea\ndrwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode\ndrwx------ 3 lukas staff 96 1 Nov 2021 .yarn\n-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc\ndrwx------ 78 lukas staff 2496 26 May 11:49 app\n-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem\ndrwx------ 25 lukas staff 800 10 Mar 2025 extension-app\ndrwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app\ndrwx------ 21 lukas staff 672 26 May 11:33 infrastructure\ndrwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services\ndrwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet\ndrwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components\ndrwxr-xr-x 2 lukas staff 64 16 Oct 2025 web\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll\ntotal 80\ndrwx------ 21 lukas staff 672 26 May 11:33 .\ndrwx------ 16 lukas staff 512 3 Nov 2025 ..\n-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store\n-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig\ndrwx------ 14 lukas staff 448 26 May 11:58 .git\ndrwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github\n-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore\ndrwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea\n-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml\n-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile\n-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md\ndrwx------ 7 lukas staff 224 26 May 11:33 dev\ndrwx------ 5 lukas staff 160 29 Oct 2021 docs\ndrwx------ 6 lukas staff 192 29 Oct 2021 images\ndrwx------ 14 lukas staff 448 26 May 11:33 jiminny\ndrwx------ 14 lukas staff 448 24 Mar 2025 packer\ndrwx------ 4 lukas staff 128 29 Oct 2021 qa\ndrwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3\ndrwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts\ndrwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf\ndrwx------ 6 lukas staff 192 12 Oct 2023 tools\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update\naws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin https://438740370364.dkr.ecr.us-east-2.amazonaws.com\nLogin Succeeded\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\nphp-8.5: Pulling from jiminny/app/qa\nDigest: sha256:92b2c3b1ce5badf9f7add1f42efe3636e3d8ef50ee1b1fd66f7c7dfc539cbf3c\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\narm64v8-php-8.5: Pulling from jiminny/app/qa\nDigest: sha256:d6b7ebd9b71c0480b909d77fceada3df720c6594e4c853228765509b36f52db6\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll\ntotal 40\ndrwx------ 16 lukas staff 512 3 Nov 2025 .\ndrwx------+ 96 lukas staff 3072 26 May 11:58 ..\n-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store\ndrwx------ 26 lukas staff 832 30 Sep 2024 .idea\ndrwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode\ndrwx------ 3 lukas staff 96 1 Nov 2021 .yarn\n-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc\ndrwx------ 78 lukas staff 2496 26 May 12:02 app\n-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem\ndrwx------ 25 lukas staff 800 10 Mar 2025 extension-app\ndrwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app\ndrwx------ 21 lukas staff 672 26 May 11:33 infrastructure\ndrwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services\ndrwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet\ndrwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components\ndrwxr-xr-x 2 lukas staff 64 16 Oct 2025 web\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll\ntotal 80\ndrwx------ 21 lukas staff 672 26 May 11:33 .\ndrwx------ 16 lukas staff 512 3 Nov 2025 ..\n-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store\n-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig\ndrwx------ 14 lukas staff 448 26 May 12:05 .git\ndrwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github\n-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore\ndrwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea\n-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml\n-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile\n-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md\ndrwx------ 7 lukas staff 224 26 May 11:33 dev\ndrwx------ 5 lukas staff 160 29 Oct 2021 docs\ndrwx------ 6 lukas staff 192 29 Oct 2021 images\ndrwx------ 14 lukas staff 448 26 May 11:33 jiminny\ndrwx------ 14 lukas staff 448 24 Mar 2025 packer\ndrwx------ 4 lukas staff 128 29 Oct 2021 qa\ndrwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3\ndrwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts\ndrwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf\ndrwx------ 6 lukas staff 192 12 Oct 2023 tools\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update\naws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin https://438740370364.dkr.ecr.us-east-2.amazonaws.com\nLogin Succeeded\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\nphp-8.5: Pulling from jiminny/app/qa\nDigest: sha256:92b2c3b1ce5badf9f7add1f42efe3636e3d8ef50ee1b1fd66f7c7dfc539cbf3c\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\narm64v8-php-8.5: Pulling from jiminny/app/qa\nDigest: sha256:d6b7ebd9b71c0480b909d77fceada3df720c6594e4c853228765509b36f52db6\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status\nOn branch master\nYour branch is up to date with 'origin/master'.\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: Makefile\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: artisan\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: bootstrap/autoload.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tvendor_old/\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-emails:worker-emails_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker-analytics:worker-analytics_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-nudges:worker-nudges_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: ERROR (spawn error)\nworker:worker_00: ERROR (spawn error)\nworker-audio:worker-audio_00: ERROR (spawn error)\nworker-calendar:worker-calendar_00: ERROR (spawn error)\nworker-conferences:worker-conferences_00: ERROR (spawn error)\nworker-crm-sync:worker-crm-sync_00: ERROR (spawn error)\nworker-emails:worker-emails_00: ERROR (spawn error)\nworker-es-update:worker-es-update_00: ERROR (spawn error)\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nmake: *** [docker-xdebug-disable] Error 7\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ gbr\n JY-20891-fix-alias-mismatch-on-sms-text-relay\n* master\n JY-20963-fix-import-on-deleted-entity\n JY-20915-add-domain-specific-email-text-relay\n JY-20676-delete-report-related-objects\n JY-20613-allow-owner-role-on-team-setup\n JY-20725-handle-HS-search-rate-limit\n pipedrive-sdk-poc\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tMakefile\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tartisan\nM\u0000\u0000\u0000\u0000\u0000\u0000\tbootstrap/autoload.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'\nYour branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master\nMerge made by the 'ort' strategy.\n contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------\n front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----\n front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--\n front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-\n front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------\n routes/api_v2.php | 6 +++---\n tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------\n 7 files changed, 61 insertions(+), 46 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status\nRefresh index: 100% (9182/9182), done.\nOn branch JY-20891-fix-alias-mismatch-on-sms-text-relay\nYour branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: Makefile\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: artisan\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: bootstrap/autoload.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Services/Mail/TextRelayServiceTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tMakefile\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tartisan\nM\u0000\u0000\u0000\u0000\u0000\u0000\tbootstrap/autoload.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is up to date with 'origin/master'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\n\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.346 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\n\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.346 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.347\nOk to proceed? (y) yes\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture\n2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff\n2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)\n2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T20:34:48.658438Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=1511 elapsed=1.137431917s\n2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC\n2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T20:34:50.005494Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=72707, dur=68ms\n2026-05-26T20:34:50.012484Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2","depth":4,"on_screen":true,"value":"Last login: Tue May 26 11:58:03 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll\ntotal 40\ndrwx------ 16 lukas staff 512 3 Nov 2025 .\ndrwx------+ 96 lukas staff 3072 26 May 11:58 ..\n-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store\ndrwx------ 26 lukas staff 832 30 Sep 2024 .idea\ndrwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode\ndrwx------ 3 lukas staff 96 1 Nov 2021 .yarn\n-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc\ndrwx------ 78 lukas staff 2496 26 May 11:49 app\n-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem\ndrwx------ 25 lukas staff 800 10 Mar 2025 extension-app\ndrwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app\ndrwx------ 21 lukas staff 672 26 May 11:33 infrastructure\ndrwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services\ndrwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet\ndrwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components\ndrwxr-xr-x 2 lukas staff 64 16 Oct 2025 web\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll\ntotal 80\ndrwx------ 21 lukas staff 672 26 May 11:33 .\ndrwx------ 16 lukas staff 512 3 Nov 2025 ..\n-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store\n-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig\ndrwx------ 14 lukas staff 448 26 May 11:58 .git\ndrwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github\n-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore\ndrwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea\n-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml\n-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile\n-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md\ndrwx------ 7 lukas staff 224 26 May 11:33 dev\ndrwx------ 5 lukas staff 160 29 Oct 2021 docs\ndrwx------ 6 lukas staff 192 29 Oct 2021 images\ndrwx------ 14 lukas staff 448 26 May 11:33 jiminny\ndrwx------ 14 lukas staff 448 24 Mar 2025 packer\ndrwx------ 4 lukas staff 128 29 Oct 2021 qa\ndrwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3\ndrwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts\ndrwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf\ndrwx------ 6 lukas staff 192 12 Oct 2023 tools\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update\naws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin https://438740370364.dkr.ecr.us-east-2.amazonaws.com\nLogin Succeeded\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\nphp-8.5: Pulling from jiminny/app/qa\nDigest: sha256:92b2c3b1ce5badf9f7add1f42efe3636e3d8ef50ee1b1fd66f7c7dfc539cbf3c\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\narm64v8-php-8.5: Pulling from jiminny/app/qa\nDigest: sha256:d6b7ebd9b71c0480b909d77fceada3df720c6594e4c853228765509b36f52db6\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll\ntotal 40\ndrwx------ 16 lukas staff 512 3 Nov 2025 .\ndrwx------+ 96 lukas staff 3072 26 May 11:58 ..\n-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store\ndrwx------ 26 lukas staff 832 30 Sep 2024 .idea\ndrwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode\ndrwx------ 3 lukas staff 96 1 Nov 2021 .yarn\n-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc\ndrwx------ 78 lukas staff 2496 26 May 12:02 app\n-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem\ndrwx------ 25 lukas staff 800 10 Mar 2025 extension-app\ndrwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app\ndrwx------ 21 lukas staff 672 26 May 11:33 infrastructure\ndrwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services\ndrwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet\ndrwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components\ndrwxr-xr-x 2 lukas staff 64 16 Oct 2025 web\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll\ntotal 80\ndrwx------ 21 lukas staff 672 26 May 11:33 .\ndrwx------ 16 lukas staff 512 3 Nov 2025 ..\n-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store\n-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig\ndrwx------ 14 lukas staff 448 26 May 12:05 .git\ndrwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github\n-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore\ndrwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea\n-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml\n-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile\n-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md\ndrwx------ 7 lukas staff 224 26 May 11:33 dev\ndrwx------ 5 lukas staff 160 29 Oct 2021 docs\ndrwx------ 6 lukas staff 192 29 Oct 2021 images\ndrwx------ 14 lukas staff 448 26 May 11:33 jiminny\ndrwx------ 14 lukas staff 448 24 Mar 2025 packer\ndrwx------ 4 lukas staff 128 29 Oct 2021 qa\ndrwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3\ndrwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts\ndrwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf\ndrwx------ 6 lukas staff 192 12 Oct 2023 tools\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update\naws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin https://438740370364.dkr.ecr.us-east-2.amazonaws.com\nLogin Succeeded\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\nphp-8.5: Pulling from jiminny/app/qa\nDigest: sha256:92b2c3b1ce5badf9f7add1f42efe3636e3d8ef50ee1b1fd66f7c7dfc539cbf3c\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\narm64v8-php-8.5: Pulling from jiminny/app/qa\nDigest: sha256:d6b7ebd9b71c0480b909d77fceada3df720c6594e4c853228765509b36f52db6\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status\nOn branch master\nYour branch is up to date with 'origin/master'.\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: Makefile\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: artisan\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: bootstrap/autoload.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tvendor_old/\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-emails:worker-emails_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker-analytics:worker-analytics_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-nudges:worker-nudges_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: ERROR (spawn error)\nworker:worker_00: ERROR (spawn error)\nworker-audio:worker-audio_00: ERROR (spawn error)\nworker-calendar:worker-calendar_00: ERROR (spawn error)\nworker-conferences:worker-conferences_00: ERROR (spawn error)\nworker-crm-sync:worker-crm-sync_00: ERROR (spawn error)\nworker-emails:worker-emails_00: ERROR (spawn error)\nworker-es-update:worker-es-update_00: ERROR (spawn error)\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nmake: *** [docker-xdebug-disable] Error 7\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ gbr\n JY-20891-fix-alias-mismatch-on-sms-text-relay\n* master\n JY-20963-fix-import-on-deleted-entity\n JY-20915-add-domain-specific-email-text-relay\n JY-20676-delete-report-related-objects\n JY-20613-allow-owner-role-on-team-setup\n JY-20725-handle-HS-search-rate-limit\n pipedrive-sdk-poc\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tMakefile\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tartisan\nM\u0000\u0000\u0000\u0000\u0000\u0000\tbootstrap/autoload.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'\nYour branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master\nMerge made by the 'ort' strategy.\n contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------\n front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----\n front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--\n front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-\n front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------\n routes/api_v2.php | 6 +++---\n tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------\n 7 files changed, 61 insertions(+), 46 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status\nRefresh index: 100% (9182/9182), done.\nOn branch JY-20891-fix-alias-mismatch-on-sms-text-relay\nYour branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: Makefile\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: artisan\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: bootstrap/autoload.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Services/Mail/TextRelayServiceTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tMakefile\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tartisan\nM\u0000\u0000\u0000\u0000\u0000\u0000\tbootstrap/autoload.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is up to date with 'origin/master'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\n\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.346 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\n\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.346 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.347\nOk to proceed? (y) yes\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture\n2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff\n2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)\n2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T20:34:48.658438Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=1511 elapsed=1.137431917s\n2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC\n2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T20:34:50.005494Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=72707, dur=68ms\n2026-05-26T20:34:50.012484Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.24583334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (docker)","depth":2,"bounds":{"left":0.24583334,"top":0.05888889,"width":0.24583334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.25,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.49166667,"top":0.05888889,"width":0.24583334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49583334,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.7375,"top":0.05888889,"width":0.24583334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.7416667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.47083333,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
8197445303464161913
|
-1715882311887815070
|
manual
|
accessibility
|
NULL
|
Last login: Tue May 26 11:58:03 on ttys007
Poetry Last login: Tue May 26 11:58:03 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 11:49 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 11:58 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 12:02 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 12:05 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
vendor_old/
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ gbr
JY-20891-fix-alias-mismatch-on-sms-text-relay
* master
JY-20963-fix-import-on-deleted-entity
JY-20915-add-domain-specific-email-text-relay
JY-20676-delete-report-related-objects
JY-20613-allow-owner-role-on-team-setup
JY-20725-handle-HS-search-rate-limit
pipedrive-sdk-poc
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'
Your branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master
Merge made by the 'ort' strategy.
contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------
front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----
front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--
front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-
front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------
routes/api_v2.php | 6 +++---
tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------
7 files changed, 61 insertions(+), 46 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
Refresh index: 100% (9182/9182), done.
On branch JY-20891-fix-alias-mismatch-on-sms-text-relay
Your branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.
(use "git push" to publish your local commits)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
modified: tests/Unit/Services/Mail/TextRelayServiceTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start
sp-start='npx screenpipe@latest record --disable-audio --ignored-windows "Boosteroid"'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20
Now using node v20.20.2 (npm v10.8.2)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
Need to install the following packages:
screenpipe@0.3.347
Ok to proceed? (y) yes
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
tip: get the desktop app for chat, timeline, and search UI
→ https://screenpi.pe/onboarding
2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ MacBook Pro Microphone (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture
2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)
2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff
2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)
2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.658438Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=0 rows_returned=1511 elapsed=1.137431917s
2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC
2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-26T20:34:50.005494Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=72707, dur=68ms
2026-05-26T20:34:50.012484Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
⌥⌘1
screenpipe"...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
72709
|
2615
|
1
|
2026-05-26T17:34:59.192815+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-26/1779 /Users/lukas/.screenpipe/data/data/2026-05-26/1779816899192_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue May 26 11:58:03 on ttys007
Poetry Last login: Tue May 26 11:58:03 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 11:49 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 11:58 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 12:02 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 12:05 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
vendor_old/
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ gbr
JY-20891-fix-alias-mismatch-on-sms-text-relay
* master
JY-20963-fix-import-on-deleted-entity
JY-20915-add-domain-specific-email-text-relay
JY-20676-delete-report-related-objects
JY-20613-allow-owner-role-on-team-setup
JY-20725-handle-HS-search-rate-limit
pipedrive-sdk-poc
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'
Your branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master
Merge made by the 'ort' strategy.
contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------
front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----
front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--
front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-
front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------
routes/api_v2.php | 6 +++---
tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------
7 files changed, 61 insertions(+), 46 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
Refresh index: 100% (9182/9182), done.
On branch JY-20891-fix-alias-mismatch-on-sms-text-relay
Your branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.
(use "git push" to publish your local commits)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
modified: tests/Unit/Services/Mail/TextRelayServiceTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start
sp-start='npx screenpipe@latest record --disable-audio --ignored-windows "Boosteroid"'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20
Now using node v20.20.2 (npm v10.8.2)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
Need to install the following packages:
screenpipe@0.3.347
Ok to proceed? (y) yes
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
tip: get the desktop app for chat, timeline, and search UI
→ https://screenpi.pe/onboarding
2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ MacBook Pro Microphone (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture
2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)
2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff
2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)
2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.658438Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=0 rows_returned=1511 elapsed=1.137431917s
2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC
2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-26T20:34:50.005494Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=72707, dur=68ms
2026-05-26T20:34:50.012484Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-26T20:34:50.201960Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=72708, dur=60ms
2026-05-26T20:34:57.486263Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-26T20:34:57.490538Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-26T20:34:57.490670Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-26T20:34:57.490684Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 0.064 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-26T20:34:57.693722Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-26T20:34:57.698597Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-26T20:34:57.698798Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-26T20:34:57.700088Z INFO screenpipe_audio::audio_manager::manager: seeded 67 speakers (named + unnamed) from DB into embedding manager
2026-05-26T20:34:57.701536Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-26T20:34:57.701576Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-26T20:34:58.863416Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-26T20:34:58.864807Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-26T20:34:59.014727Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-26T20:34:59.014823Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-26T20:34:59.014834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
⌥⌘1
screenpipe"...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue May 26 11:58:03 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll\ntotal 40\ndrwx------ 16 lukas staff 512 3 Nov 2025 .\ndrwx------+ 96 lukas staff 3072 26 May 11:58 ..\n-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store\ndrwx------ 26 lukas staff 832 30 Sep 2024 .idea\ndrwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode\ndrwx------ 3 lukas staff 96 1 Nov 2021 .yarn\n-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc\ndrwx------ 78 lukas staff 2496 26 May 11:49 app\n-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem\ndrwx------ 25 lukas staff 800 10 Mar 2025 extension-app\ndrwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app\ndrwx------ 21 lukas staff 672 26 May 11:33 infrastructure\ndrwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services\ndrwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet\ndrwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components\ndrwxr-xr-x 2 lukas staff 64 16 Oct 2025 web\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll\ntotal 80\ndrwx------ 21 lukas staff 672 26 May 11:33 .\ndrwx------ 16 lukas staff 512 3 Nov 2025 ..\n-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store\n-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig\ndrwx------ 14 lukas staff 448 26 May 11:58 .git\ndrwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github\n-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore\ndrwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea\n-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml\n-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile\n-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md\ndrwx------ 7 lukas staff 224 26 May 11:33 dev\ndrwx------ 5 lukas staff 160 29 Oct 2021 docs\ndrwx------ 6 lukas staff 192 29 Oct 2021 images\ndrwx------ 14 lukas staff 448 26 May 11:33 jiminny\ndrwx------ 14 lukas staff 448 24 Mar 2025 packer\ndrwx------ 4 lukas staff 128 29 Oct 2021 qa\ndrwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3\ndrwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts\ndrwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf\ndrwx------ 6 lukas staff 192 12 Oct 2023 tools\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update\naws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin https://438740370364.dkr.ecr.us-east-2.amazonaws.com\nLogin Succeeded\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\nphp-8.5: Pulling from jiminny/app/qa\nDigest: sha256:92b2c3b1ce5badf9f7add1f42efe3636e3d8ef50ee1b1fd66f7c7dfc539cbf3c\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\narm64v8-php-8.5: Pulling from jiminny/app/qa\nDigest: sha256:d6b7ebd9b71c0480b909d77fceada3df720c6594e4c853228765509b36f52db6\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll\ntotal 40\ndrwx------ 16 lukas staff 512 3 Nov 2025 .\ndrwx------+ 96 lukas staff 3072 26 May 11:58 ..\n-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store\ndrwx------ 26 lukas staff 832 30 Sep 2024 .idea\ndrwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode\ndrwx------ 3 lukas staff 96 1 Nov 2021 .yarn\n-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc\ndrwx------ 78 lukas staff 2496 26 May 12:02 app\n-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem\ndrwx------ 25 lukas staff 800 10 Mar 2025 extension-app\ndrwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app\ndrwx------ 21 lukas staff 672 26 May 11:33 infrastructure\ndrwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services\ndrwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet\ndrwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components\ndrwxr-xr-x 2 lukas staff 64 16 Oct 2025 web\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll\ntotal 80\ndrwx------ 21 lukas staff 672 26 May 11:33 .\ndrwx------ 16 lukas staff 512 3 Nov 2025 ..\n-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store\n-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig\ndrwx------ 14 lukas staff 448 26 May 12:05 .git\ndrwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github\n-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore\ndrwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea\n-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml\n-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile\n-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md\ndrwx------ 7 lukas staff 224 26 May 11:33 dev\ndrwx------ 5 lukas staff 160 29 Oct 2021 docs\ndrwx------ 6 lukas staff 192 29 Oct 2021 images\ndrwx------ 14 lukas staff 448 26 May 11:33 jiminny\ndrwx------ 14 lukas staff 448 24 Mar 2025 packer\ndrwx------ 4 lukas staff 128 29 Oct 2021 qa\ndrwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3\ndrwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts\ndrwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf\ndrwx------ 6 lukas staff 192 12 Oct 2023 tools\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update\naws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin https://438740370364.dkr.ecr.us-east-2.amazonaws.com\nLogin Succeeded\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\nphp-8.5: Pulling from jiminny/app/qa\nDigest: sha256:92b2c3b1ce5badf9f7add1f42efe3636e3d8ef50ee1b1fd66f7c7dfc539cbf3c\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\narm64v8-php-8.5: Pulling from jiminny/app/qa\nDigest: sha256:d6b7ebd9b71c0480b909d77fceada3df720c6594e4c853228765509b36f52db6\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status\nOn branch master\nYour branch is up to date with 'origin/master'.\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: Makefile\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: artisan\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: bootstrap/autoload.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tvendor_old/\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-emails:worker-emails_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker-analytics:worker-analytics_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-nudges:worker-nudges_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: ERROR (spawn error)\nworker:worker_00: ERROR (spawn error)\nworker-audio:worker-audio_00: ERROR (spawn error)\nworker-calendar:worker-calendar_00: ERROR (spawn error)\nworker-conferences:worker-conferences_00: ERROR (spawn error)\nworker-crm-sync:worker-crm-sync_00: ERROR (spawn error)\nworker-emails:worker-emails_00: ERROR (spawn error)\nworker-es-update:worker-es-update_00: ERROR (spawn error)\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nmake: *** [docker-xdebug-disable] Error 7\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ gbr\n JY-20891-fix-alias-mismatch-on-sms-text-relay\n* master\n JY-20963-fix-import-on-deleted-entity\n JY-20915-add-domain-specific-email-text-relay\n JY-20676-delete-report-related-objects\n JY-20613-allow-owner-role-on-team-setup\n JY-20725-handle-HS-search-rate-limit\n pipedrive-sdk-poc\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tMakefile\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tartisan\nM\u0000\u0000\u0000\u0000\u0000\u0000\tbootstrap/autoload.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'\nYour branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master\nMerge made by the 'ort' strategy.\n contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------\n front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----\n front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--\n front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-\n front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------\n routes/api_v2.php | 6 +++---\n tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------\n 7 files changed, 61 insertions(+), 46 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status\nRefresh index: 100% (9182/9182), done.\nOn branch JY-20891-fix-alias-mismatch-on-sms-text-relay\nYour branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: Makefile\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: artisan\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: bootstrap/autoload.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Services/Mail/TextRelayServiceTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tMakefile\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tartisan\nM\u0000\u0000\u0000\u0000\u0000\u0000\tbootstrap/autoload.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is up to date with 'origin/master'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\n\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.346 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\n\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.346 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.347\nOk to proceed? (y) yes\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture\n2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff\n2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)\n2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T20:34:48.658438Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=1511 elapsed=1.137431917s\n2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC\n2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T20:34:50.005494Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=72707, dur=68ms\n2026-05-26T20:34:50.012484Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-26T20:34:50.201960Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=72708, dur=60ms\n2026-05-26T20:34:57.486263Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-26T20:34:57.490538Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-26T20:34:57.490670Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-26T20:34:57.490684Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 0.064 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-26T20:34:57.693722Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-26T20:34:57.698597Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-26T20:34:57.698798Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-26T20:34:57.700088Z INFO screenpipe_audio::audio_manager::manager: seeded 67 speakers (named + unnamed) from DB into embedding manager\n2026-05-26T20:34:57.701536Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-26T20:34:57.701576Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-26T20:34:58.863416Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-26T20:34:58.864807Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T20:34:59.014727Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-26T20:34:59.014823Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-26T20:34:59.014834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)","depth":4,"on_screen":true,"value":"Last login: Tue May 26 11:58:03 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll\ntotal 40\ndrwx------ 16 lukas staff 512 3 Nov 2025 .\ndrwx------+ 96 lukas staff 3072 26 May 11:58 ..\n-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store\ndrwx------ 26 lukas staff 832 30 Sep 2024 .idea\ndrwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode\ndrwx------ 3 lukas staff 96 1 Nov 2021 .yarn\n-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc\ndrwx------ 78 lukas staff 2496 26 May 11:49 app\n-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem\ndrwx------ 25 lukas staff 800 10 Mar 2025 extension-app\ndrwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app\ndrwx------ 21 lukas staff 672 26 May 11:33 infrastructure\ndrwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services\ndrwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet\ndrwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components\ndrwxr-xr-x 2 lukas staff 64 16 Oct 2025 web\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll\ntotal 80\ndrwx------ 21 lukas staff 672 26 May 11:33 .\ndrwx------ 16 lukas staff 512 3 Nov 2025 ..\n-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store\n-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig\ndrwx------ 14 lukas staff 448 26 May 11:58 .git\ndrwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github\n-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore\ndrwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea\n-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml\n-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile\n-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md\ndrwx------ 7 lukas staff 224 26 May 11:33 dev\ndrwx------ 5 lukas staff 160 29 Oct 2021 docs\ndrwx------ 6 lukas staff 192 29 Oct 2021 images\ndrwx------ 14 lukas staff 448 26 May 11:33 jiminny\ndrwx------ 14 lukas staff 448 24 Mar 2025 packer\ndrwx------ 4 lukas staff 128 29 Oct 2021 qa\ndrwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3\ndrwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts\ndrwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf\ndrwx------ 6 lukas staff 192 12 Oct 2023 tools\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update\naws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin https://438740370364.dkr.ecr.us-east-2.amazonaws.com\nLogin Succeeded\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\nphp-8.5: Pulling from jiminny/app/qa\nDigest: sha256:92b2c3b1ce5badf9f7add1f42efe3636e3d8ef50ee1b1fd66f7c7dfc539cbf3c\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\narm64v8-php-8.5: Pulling from jiminny/app/qa\nDigest: sha256:d6b7ebd9b71c0480b909d77fceada3df720c6594e4c853228765509b36f52db6\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll\ntotal 40\ndrwx------ 16 lukas staff 512 3 Nov 2025 .\ndrwx------+ 96 lukas staff 3072 26 May 11:58 ..\n-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store\ndrwx------ 26 lukas staff 832 30 Sep 2024 .idea\ndrwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode\ndrwx------ 3 lukas staff 96 1 Nov 2021 .yarn\n-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc\ndrwx------ 78 lukas staff 2496 26 May 12:02 app\n-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem\ndrwx------ 25 lukas staff 800 10 Mar 2025 extension-app\ndrwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app\ndrwx------ 21 lukas staff 672 26 May 11:33 infrastructure\ndrwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services\ndrwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet\ndrwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components\ndrwxr-xr-x 2 lukas staff 64 16 Oct 2025 web\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll\ntotal 80\ndrwx------ 21 lukas staff 672 26 May 11:33 .\ndrwx------ 16 lukas staff 512 3 Nov 2025 ..\n-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store\n-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig\ndrwx------ 14 lukas staff 448 26 May 12:05 .git\ndrwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github\n-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore\ndrwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea\n-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml\n-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile\n-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md\ndrwx------ 7 lukas staff 224 26 May 11:33 dev\ndrwx------ 5 lukas staff 160 29 Oct 2021 docs\ndrwx------ 6 lukas staff 192 29 Oct 2021 images\ndrwx------ 14 lukas staff 448 26 May 11:33 jiminny\ndrwx------ 14 lukas staff 448 24 Mar 2025 packer\ndrwx------ 4 lukas staff 128 29 Oct 2021 qa\ndrwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3\ndrwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts\ndrwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf\ndrwx------ 6 lukas staff 192 12 Oct 2023 tools\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update\naws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin https://438740370364.dkr.ecr.us-east-2.amazonaws.com\nLogin Succeeded\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\nphp-8.5: Pulling from jiminny/app/qa\nDigest: sha256:92b2c3b1ce5badf9f7add1f42efe3636e3d8ef50ee1b1fd66f7c7dfc539cbf3c\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\narm64v8-php-8.5: Pulling from jiminny/app/qa\nDigest: sha256:d6b7ebd9b71c0480b909d77fceada3df720c6594e4c853228765509b36f52db6\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status\nOn branch master\nYour branch is up to date with 'origin/master'.\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: Makefile\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: artisan\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: bootstrap/autoload.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tvendor_old/\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-emails:worker-emails_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker-analytics:worker-analytics_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-nudges:worker-nudges_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: ERROR (spawn error)\nworker:worker_00: ERROR (spawn error)\nworker-audio:worker-audio_00: ERROR (spawn error)\nworker-calendar:worker-calendar_00: ERROR (spawn error)\nworker-conferences:worker-conferences_00: ERROR (spawn error)\nworker-crm-sync:worker-crm-sync_00: ERROR (spawn error)\nworker-emails:worker-emails_00: ERROR (spawn error)\nworker-es-update:worker-es-update_00: ERROR (spawn error)\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nmake: *** [docker-xdebug-disable] Error 7\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ gbr\n JY-20891-fix-alias-mismatch-on-sms-text-relay\n* master\n JY-20963-fix-import-on-deleted-entity\n JY-20915-add-domain-specific-email-text-relay\n JY-20676-delete-report-related-objects\n JY-20613-allow-owner-role-on-team-setup\n JY-20725-handle-HS-search-rate-limit\n pipedrive-sdk-poc\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tMakefile\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tartisan\nM\u0000\u0000\u0000\u0000\u0000\u0000\tbootstrap/autoload.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'\nYour branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master\nMerge made by the 'ort' strategy.\n contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------\n front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----\n front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--\n front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-\n front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------\n routes/api_v2.php | 6 +++---\n tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------\n 7 files changed, 61 insertions(+), 46 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status\nRefresh index: 100% (9182/9182), done.\nOn branch JY-20891-fix-alias-mismatch-on-sms-text-relay\nYour branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: Makefile\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: artisan\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: bootstrap/autoload.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Services/Mail/TextRelayServiceTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tMakefile\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tartisan\nM\u0000\u0000\u0000\u0000\u0000\u0000\tbootstrap/autoload.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is up to date with 'origin/master'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\n\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.346 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\n\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.346 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.347\nOk to proceed? (y) yes\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture\n2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff\n2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)\n2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T20:34:48.658438Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=1511 elapsed=1.137431917s\n2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC\n2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T20:34:50.005494Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=72707, dur=68ms\n2026-05-26T20:34:50.012484Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-26T20:34:50.201960Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=72708, dur=60ms\n2026-05-26T20:34:57.486263Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-26T20:34:57.490538Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-26T20:34:57.490670Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-26T20:34:57.490684Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 0.064 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-26T20:34:57.693722Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-26T20:34:57.698597Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-26T20:34:57.698798Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-26T20:34:57.700088Z INFO screenpipe_audio::audio_manager::manager: seeded 67 speakers (named + unnamed) from DB into embedding manager\n2026-05-26T20:34:57.701536Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-26T20:34:57.701576Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-26T20:34:58.863416Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-26T20:34:58.864807Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T20:34:59.014727Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-26T20:34:59.014823Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-26T20:34:59.014834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.11768617,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (docker)","depth":2,"bounds":{"left":0.3879654,"top":1.0,"width":0.11768617,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.3899601,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.11768617,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.62333775,"top":1.0,"width":0.11768617,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6253325,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4956782,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
6006427227685445749
|
-1715882311753606045
|
visual_change
|
accessibility
|
NULL
|
Last login: Tue May 26 11:58:03 on ttys007
Poetry Last login: Tue May 26 11:58:03 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 11:49 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 11:58 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 12:02 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 12:05 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
vendor_old/
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ gbr
JY-20891-fix-alias-mismatch-on-sms-text-relay
* master
JY-20963-fix-import-on-deleted-entity
JY-20915-add-domain-specific-email-text-relay
JY-20676-delete-report-related-objects
JY-20613-allow-owner-role-on-team-setup
JY-20725-handle-HS-search-rate-limit
pipedrive-sdk-poc
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'
Your branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master
Merge made by the 'ort' strategy.
contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------
front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----
front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--
front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-
front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------
routes/api_v2.php | 6 +++---
tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------
7 files changed, 61 insertions(+), 46 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
Refresh index: 100% (9182/9182), done.
On branch JY-20891-fix-alias-mismatch-on-sms-text-relay
Your branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.
(use "git push" to publish your local commits)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
modified: tests/Unit/Services/Mail/TextRelayServiceTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start
sp-start='npx screenpipe@latest record --disable-audio --ignored-windows "Boosteroid"'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20
Now using node v20.20.2 (npm v10.8.2)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
Need to install the following packages:
screenpipe@0.3.347
Ok to proceed? (y) yes
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
tip: get the desktop app for chat, timeline, and search UI
→ https://screenpi.pe/onboarding
2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ MacBook Pro Microphone (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture
2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)
2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff
2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)
2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.658438Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=0 rows_returned=1511 elapsed=1.137431917s
2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC
2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-26T20:34:50.005494Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=72707, dur=68ms
2026-05-26T20:34:50.012484Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-26T20:34:50.201960Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=72708, dur=60ms
2026-05-26T20:34:57.486263Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-26T20:34:57.490538Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-26T20:34:57.490670Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-26T20:34:57.490684Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 0.064 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-26T20:34:57.693722Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-26T20:34:57.698597Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-26T20:34:57.698798Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-26T20:34:57.700088Z INFO screenpipe_audio::audio_manager::manager: seeded 67 speakers (named + unnamed) from DB into embedding manager
2026-05-26T20:34:57.701536Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-26T20:34:57.701576Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-26T20:34:58.863416Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-26T20:34:58.864807Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-26T20:34:59.014727Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-26T20:34:59.014823Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-26T20:34:59.014834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
⌥⌘1
screenpipe"...
|
72707
|
NULL
|
NULL
|
NULL
|
|
72710
|
2614
|
1
|
2026-05-26T17:35:00.222619+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-26/1779 /Users/lukas/.screenpipe/data/data/2026-05-26/1779816900222_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Last login: Tue May 26 11:58:03 on ttys007
Poetry Last login: Tue May 26 11:58:03 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 11:49 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 11:58 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 12:02 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 12:05 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
vendor_old/
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ gbr
JY-20891-fix-alias-mismatch-on-sms-text-relay
* master
JY-20963-fix-import-on-deleted-entity
JY-20915-add-domain-specific-email-text-relay
JY-20676-delete-report-related-objects
JY-20613-allow-owner-role-on-team-setup
JY-20725-handle-HS-search-rate-limit
pipedrive-sdk-poc
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'
Your branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master
Merge made by the 'ort' strategy.
contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------
front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----
front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--
front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-
front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------
routes/api_v2.php | 6 +++---
tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------
7 files changed, 61 insertions(+), 46 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
Refresh index: 100% (9182/9182), done.
On branch JY-20891-fix-alias-mismatch-on-sms-text-relay
Your branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.
(use "git push" to publish your local commits)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
modified: tests/Unit/Services/Mail/TextRelayServiceTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start
sp-start='npx screenpipe@latest record --disable-audio --ignored-windows "Boosteroid"'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20
Now using node v20.20.2 (npm v10.8.2)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
Need to install the following packages:
screenpipe@0.3.347
Ok to proceed? (y) yes
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
tip: get the desktop app for chat, timeline, and search UI
→ https://screenpi.pe/onboarding
2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ MacBook Pro Microphone (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture
2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)
2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff
2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)
2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.658438Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=0 rows_returned=1511 elapsed=1.137431917s
2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC
2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-26T20:34:50.005494Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=72707, dur=68ms
2026-05-26T20:34:50.012484Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-26T20:34:50.201960Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=72708, dur=60ms
2026-05-26T20:34:57.486263Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-26T20:34:57.490538Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-26T20:34:57.490670Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-26T20:34:57.490684Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 0.064 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-26T20:34:57.693722Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-26T20:34:57.698597Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-26T20:34:57.698798Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-26T20:34:57.700088Z INFO screenpipe_audio::audio_manager::manager: seeded 67 speakers (named + unnamed) from DB into embedding manager
2026-05-26T20:34:57.701536Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-26T20:34:57.701576Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-26T20:34:58.863416Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-26T20:34:58.864807Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-26T20:34:59.014727Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-26T20:34:59.014823Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-26T20:34:59.014834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
⌥⌘1
screenpipe"...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"Last login: Tue May 26 11:58:03 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll\ntotal 40\ndrwx------ 16 lukas staff 512 3 Nov 2025 .\ndrwx------+ 96 lukas staff 3072 26 May 11:58 ..\n-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store\ndrwx------ 26 lukas staff 832 30 Sep 2024 .idea\ndrwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode\ndrwx------ 3 lukas staff 96 1 Nov 2021 .yarn\n-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc\ndrwx------ 78 lukas staff 2496 26 May 11:49 app\n-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem\ndrwx------ 25 lukas staff 800 10 Mar 2025 extension-app\ndrwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app\ndrwx------ 21 lukas staff 672 26 May 11:33 infrastructure\ndrwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services\ndrwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet\ndrwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components\ndrwxr-xr-x 2 lukas staff 64 16 Oct 2025 web\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll\ntotal 80\ndrwx------ 21 lukas staff 672 26 May 11:33 .\ndrwx------ 16 lukas staff 512 3 Nov 2025 ..\n-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store\n-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig\ndrwx------ 14 lukas staff 448 26 May 11:58 .git\ndrwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github\n-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore\ndrwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea\n-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml\n-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile\n-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md\ndrwx------ 7 lukas staff 224 26 May 11:33 dev\ndrwx------ 5 lukas staff 160 29 Oct 2021 docs\ndrwx------ 6 lukas staff 192 29 Oct 2021 images\ndrwx------ 14 lukas staff 448 26 May 11:33 jiminny\ndrwx------ 14 lukas staff 448 24 Mar 2025 packer\ndrwx------ 4 lukas staff 128 29 Oct 2021 qa\ndrwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3\ndrwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts\ndrwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf\ndrwx------ 6 lukas staff 192 12 Oct 2023 tools\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update\naws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin https://438740370364.dkr.ecr.us-east-2.amazonaws.com\nLogin Succeeded\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\nphp-8.5: Pulling from jiminny/app/qa\nDigest: sha256:92b2c3b1ce5badf9f7add1f42efe3636e3d8ef50ee1b1fd66f7c7dfc539cbf3c\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\narm64v8-php-8.5: Pulling from jiminny/app/qa\nDigest: sha256:d6b7ebd9b71c0480b909d77fceada3df720c6594e4c853228765509b36f52db6\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll\ntotal 40\ndrwx------ 16 lukas staff 512 3 Nov 2025 .\ndrwx------+ 96 lukas staff 3072 26 May 11:58 ..\n-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store\ndrwx------ 26 lukas staff 832 30 Sep 2024 .idea\ndrwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode\ndrwx------ 3 lukas staff 96 1 Nov 2021 .yarn\n-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc\ndrwx------ 78 lukas staff 2496 26 May 12:02 app\n-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem\ndrwx------ 25 lukas staff 800 10 Mar 2025 extension-app\ndrwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app\ndrwx------ 21 lukas staff 672 26 May 11:33 infrastructure\ndrwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services\ndrwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet\ndrwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components\ndrwxr-xr-x 2 lukas staff 64 16 Oct 2025 web\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll\ntotal 80\ndrwx------ 21 lukas staff 672 26 May 11:33 .\ndrwx------ 16 lukas staff 512 3 Nov 2025 ..\n-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store\n-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig\ndrwx------ 14 lukas staff 448 26 May 12:05 .git\ndrwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github\n-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore\ndrwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea\n-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml\n-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile\n-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md\ndrwx------ 7 lukas staff 224 26 May 11:33 dev\ndrwx------ 5 lukas staff 160 29 Oct 2021 docs\ndrwx------ 6 lukas staff 192 29 Oct 2021 images\ndrwx------ 14 lukas staff 448 26 May 11:33 jiminny\ndrwx------ 14 lukas staff 448 24 Mar 2025 packer\ndrwx------ 4 lukas staff 128 29 Oct 2021 qa\ndrwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3\ndrwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts\ndrwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf\ndrwx------ 6 lukas staff 192 12 Oct 2023 tools\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update\naws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin https://438740370364.dkr.ecr.us-east-2.amazonaws.com\nLogin Succeeded\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\nphp-8.5: Pulling from jiminny/app/qa\nDigest: sha256:92b2c3b1ce5badf9f7add1f42efe3636e3d8ef50ee1b1fd66f7c7dfc539cbf3c\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\narm64v8-php-8.5: Pulling from jiminny/app/qa\nDigest: sha256:d6b7ebd9b71c0480b909d77fceada3df720c6594e4c853228765509b36f52db6\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status\nOn branch master\nYour branch is up to date with 'origin/master'.\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: Makefile\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: artisan\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: bootstrap/autoload.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tvendor_old/\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-emails:worker-emails_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker-analytics:worker-analytics_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-nudges:worker-nudges_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: ERROR (spawn error)\nworker:worker_00: ERROR (spawn error)\nworker-audio:worker-audio_00: ERROR (spawn error)\nworker-calendar:worker-calendar_00: ERROR (spawn error)\nworker-conferences:worker-conferences_00: ERROR (spawn error)\nworker-crm-sync:worker-crm-sync_00: ERROR (spawn error)\nworker-emails:worker-emails_00: ERROR (spawn error)\nworker-es-update:worker-es-update_00: ERROR (spawn error)\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nmake: *** [docker-xdebug-disable] Error 7\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ gbr\n JY-20891-fix-alias-mismatch-on-sms-text-relay\n* master\n JY-20963-fix-import-on-deleted-entity\n JY-20915-add-domain-specific-email-text-relay\n JY-20676-delete-report-related-objects\n JY-20613-allow-owner-role-on-team-setup\n JY-20725-handle-HS-search-rate-limit\n pipedrive-sdk-poc\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tMakefile\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tartisan\nM\u0000\u0000\u0000\u0000\u0000\u0000\tbootstrap/autoload.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'\nYour branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master\nMerge made by the 'ort' strategy.\n contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------\n front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----\n front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--\n front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-\n front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------\n routes/api_v2.php | 6 +++---\n tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------\n 7 files changed, 61 insertions(+), 46 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status\nRefresh index: 100% (9182/9182), done.\nOn branch JY-20891-fix-alias-mismatch-on-sms-text-relay\nYour branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: Makefile\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: artisan\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: bootstrap/autoload.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Services/Mail/TextRelayServiceTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tMakefile\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tartisan\nM\u0000\u0000\u0000\u0000\u0000\u0000\tbootstrap/autoload.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is up to date with 'origin/master'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\n\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.346 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\n\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.346 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.347\nOk to proceed? (y) yes\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture\n2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff\n2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)\n2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T20:34:48.658438Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=1511 elapsed=1.137431917s\n2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC\n2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T20:34:50.005494Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=72707, dur=68ms\n2026-05-26T20:34:50.012484Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-26T20:34:50.201960Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=72708, dur=60ms\n2026-05-26T20:34:57.486263Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-26T20:34:57.490538Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-26T20:34:57.490670Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-26T20:34:57.490684Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 0.064 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-26T20:34:57.693722Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-26T20:34:57.698597Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-26T20:34:57.698798Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-26T20:34:57.700088Z INFO screenpipe_audio::audio_manager::manager: seeded 67 speakers (named + unnamed) from DB into embedding manager\n2026-05-26T20:34:57.701536Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-26T20:34:57.701576Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-26T20:34:58.863416Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-26T20:34:58.864807Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T20:34:59.014727Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-26T20:34:59.014823Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-26T20:34:59.014834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)","depth":4,"on_screen":true,"value":"Last login: Tue May 26 11:58:03 on ttys007\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\n\nPoetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll\ntotal 40\ndrwx------ 16 lukas staff 512 3 Nov 2025 .\ndrwx------+ 96 lukas staff 3072 26 May 11:58 ..\n-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store\ndrwx------ 26 lukas staff 832 30 Sep 2024 .idea\ndrwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode\ndrwx------ 3 lukas staff 96 1 Nov 2021 .yarn\n-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc\ndrwx------ 78 lukas staff 2496 26 May 11:49 app\n-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem\ndrwx------ 25 lukas staff 800 10 Mar 2025 extension-app\ndrwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app\ndrwx------ 21 lukas staff 672 26 May 11:33 infrastructure\ndrwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services\ndrwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet\ndrwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components\ndrwxr-xr-x 2 lukas staff 64 16 Oct 2025 web\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll\ntotal 80\ndrwx------ 21 lukas staff 672 26 May 11:33 .\ndrwx------ 16 lukas staff 512 3 Nov 2025 ..\n-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store\n-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig\ndrwx------ 14 lukas staff 448 26 May 11:58 .git\ndrwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github\n-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore\ndrwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea\n-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml\n-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile\n-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md\ndrwx------ 7 lukas staff 224 26 May 11:33 dev\ndrwx------ 5 lukas staff 160 29 Oct 2021 docs\ndrwx------ 6 lukas staff 192 29 Oct 2021 images\ndrwx------ 14 lukas staff 448 26 May 11:33 jiminny\ndrwx------ 14 lukas staff 448 24 Mar 2025 packer\ndrwx------ 4 lukas staff 128 29 Oct 2021 qa\ndrwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3\ndrwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts\ndrwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf\ndrwx------ 6 lukas staff 192 12 Oct 2023 tools\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update\naws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin https://438740370364.dkr.ecr.us-east-2.amazonaws.com\nLogin Succeeded\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\nphp-8.5: Pulling from jiminny/app/qa\nDigest: sha256:92b2c3b1ce5badf9f7add1f42efe3636e3d8ef50ee1b1fd66f7c7dfc539cbf3c\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\narm64v8-php-8.5: Pulling from jiminny/app/qa\nDigest: sha256:d6b7ebd9b71c0480b909d77fceada3df720c6594e4c853228765509b36f52db6\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll\ntotal 40\ndrwx------ 16 lukas staff 512 3 Nov 2025 .\ndrwx------+ 96 lukas staff 3072 26 May 11:58 ..\n-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store\ndrwx------ 26 lukas staff 832 30 Sep 2024 .idea\ndrwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode\ndrwx------ 3 lukas staff 96 1 Nov 2021 .yarn\n-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc\ndrwx------ 78 lukas staff 2496 26 May 12:02 app\n-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem\ndrwx------ 25 lukas staff 800 10 Mar 2025 extension-app\ndrwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app\ndrwx------ 21 lukas staff 672 26 May 11:33 infrastructure\ndrwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services\ndrwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet\ndrwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components\ndrwxr-xr-x 2 lukas staff 64 16 Oct 2025 web\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll\ntotal 80\ndrwx------ 21 lukas staff 672 26 May 11:33 .\ndrwx------ 16 lukas staff 512 3 Nov 2025 ..\n-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store\n-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig\ndrwx------ 14 lukas staff 448 26 May 12:05 .git\ndrwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github\n-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore\ndrwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea\n-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml\n-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile\n-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md\ndrwx------ 7 lukas staff 224 26 May 11:33 dev\ndrwx------ 5 lukas staff 160 29 Oct 2021 docs\ndrwx------ 6 lukas staff 192 29 Oct 2021 images\ndrwx------ 14 lukas staff 448 26 May 11:33 jiminny\ndrwx------ 14 lukas staff 448 24 Mar 2025 packer\ndrwx------ 4 lukas staff 128 29 Oct 2021 qa\ndrwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3\ndrwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts\ndrwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf\ndrwx------ 6 lukas staff 192 12 Oct 2023 tools\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update\naws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin https://438740370364.dkr.ecr.us-east-2.amazonaws.com\nLogin Succeeded\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\nphp-8.5: Pulling from jiminny/app/qa\nDigest: sha256:92b2c3b1ce5badf9f7add1f42efe3636e3d8ef50ee1b1fd66f7c7dfc539cbf3c\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:php-8.5\ndocker pull 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\narm64v8-php-8.5: Pulling from jiminny/app/qa\nDigest: sha256:d6b7ebd9b71c0480b909d77fceada3df720c6594e4c853228765509b36f52db6\nStatus: Image is up to date for 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\n\nWhat's next:\n View a summary of image vulnerabilities and recommendations → docker scout quickview 438740370364.dkr.ecr.us-east-2.amazonaws.com/jiminny/app/qa:arm64v8-php-8.5\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status\nOn branch master\nYour branch is up to date with 'origin/master'.\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: Makefile\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: artisan\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: bootstrap/autoload.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tvendor_old/\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\njiminny-worker-processing-2:jiminny-worker-processing-2_00: stopped\njiminny-worker-processing-3:jiminny-worker-processing-3_00: stopped\njiminny-worker-processing-4:jiminny-worker-processing-4_00: stopped\njiminny-worker-processing-5:jiminny-worker-processing-5_00: stopped\nworker-analytics:worker-analytics_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\nworker-emails:worker-emails_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-es-update:worker-es-update_00: stopped\nartisan-schedule:artisan-schedule_00: started\njiminny-worker-processing-2:jiminny-worker-processing-2_00: started\njiminny-worker-processing-3:jiminny-worker-processing-3_00: started\njiminny-worker-processing-4:jiminny-worker-processing-4_00: started\njiminny-worker-processing-5:jiminny-worker-processing-5_00: started\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: started\nworker-analytics:worker-analytics_00: started\nworker-crm-update:worker-crm-update_00: started\nworker-download:worker-download_00: started\nworker-nudges:worker-nudges_00: started\njiminny-worker-processing-1:jiminny-worker-processing-1_00: ERROR (spawn error)\nworker:worker_00: ERROR (spawn error)\nworker-audio:worker-audio_00: ERROR (spawn error)\nworker-calendar:worker-calendar_00: ERROR (spawn error)\nworker-conferences:worker-conferences_00: ERROR (spawn error)\nworker-crm-sync:worker-crm-sync_00: ERROR (spawn error)\nworker-emails:worker-emails_00: ERROR (spawn error)\nworker-es-update:worker-es-update_00: ERROR (spawn error)\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nmake: *** [docker-xdebug-disable] Error 7\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ gbr\n JY-20891-fix-alias-mismatch-on-sms-text-relay\n* master\n JY-20963-fix-import-on-deleted-entity\n JY-20915-add-domain-specific-email-text-relay\n JY-20676-delete-report-related-objects\n JY-20613-allow-owner-role-on-team-setup\n JY-20725-handle-HS-search-rate-limit\n pipedrive-sdk-poc\n JY-20903-update_activity-stage-on-opportunity-change\n JY-20904-fix-update-es-on-activity-command\n JY-20891-improve-sms-text-relays\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tMakefile\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tartisan\nM\u0000\u0000\u0000\u0000\u0000\u0000\tbootstrap/autoload.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'\nYour branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master\nMerge made by the 'ort' strategy.\n contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------\n front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----\n front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--\n front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-\n front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------\n routes/api_v2.php | 6 +++---\n tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------\n 7 files changed, 61 insertions(+), 46 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status\nRefresh index: 100% (9182/9182), done.\nOn branch JY-20891-fix-alias-mismatch-on-sms-text-relay\nYour branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.\n (use \"git push\" to publish your local commits)\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: Makefile\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: artisan\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: bootstrap/autoload.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: tests/Unit/Services/Mail/TextRelayServiceTest.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master\nM\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local\nM\u0000\u0000\u0000\u0000\u0000\u0000\tMakefile\nM\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/JiminnyDebugCommand.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tartisan\nM\u0000\u0000\u0000\u0000\u0000\u0000\tbootstrap/autoload.php\nM\u0000\u0000\u0000\u0000\u0000\u0000\tconfig/logging.php\nSwitched to branch 'master'\nYour branch is up to date with 'origin/master'.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start\nsp-start='npx screenpipe@latest record --disable-audio --ignored-windows \"Boosteroid\"'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\n\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.346 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\ninternal/modules/cjs/loader.js:883\n throw err;\n ^\n\nError: Cannot find module 'node:child_process'\nRequire stack:\n- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)\n at Function.Module._load (internal/modules/cjs/loader.js:725:27)\n at Module.require (internal/modules/cjs/loader.js:952:19)\n at require (internal/modules/cjs/helpers.js:88:18)\n at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)\n at Module._compile (internal/modules/cjs/loader.js:1063:30)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)\n at Module.load (internal/modules/cjs/loader.js:928:32)\n at Function.Module._load (internal/modules/cjs/loader.js:769:14)\n at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {\n code: 'MODULE_NOT_FOUND',\n requireStack: [\n '/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'\n ]\n}\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the screenpipe@0.3.346 postinstall script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log\nInstall for [ 'screenpipe@latest' ] failed with code 1\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20\nNow using node v20.20.2 (npm v10.8.2)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.347\nOk to proceed? (y) yes\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture\n2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff\n2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)\n2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-26T20:34:48.658438Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=1511 elapsed=1.137431917s\n2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC\n2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T20:34:50.005494Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=72707, dur=68ms\n2026-05-26T20:34:50.012484Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-26T20:34:50.201960Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=72708, dur=60ms\n2026-05-26T20:34:57.486263Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny\n2026-05-26T20:34:57.490538Z INFO screenpipe_audio::transcription::engine: whisper model available: \"/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin\"\n2026-05-26T20:34:57.490670Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)\n2026-05-26T20:34:57.490684Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...\nwhisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'\nwhisper_init_with_params_no_state: use gpu = 1\nwhisper_init_with_params_no_state: flash attn = 0\nwhisper_init_with_params_no_state: gpu_device = 0\nwhisper_init_with_params_no_state: dtw = 0\nggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices\nggml_metal_library_init: using embedded metal library\nggml_metal_library_init: loaded in 0.064 sec\nggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)\nggml_metal_device_init: GPU name: Apple M1\nggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)\nggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)\nggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)\nggml_metal_device_init: simdgroup reduction = true\nggml_metal_device_init: simdgroup matrix mul. = true\nggml_metal_device_init: has unified memory = true\nggml_metal_device_init: has bfloat = true\nggml_metal_device_init: has tensor = false\nggml_metal_device_init: use residency sets = true\nggml_metal_device_init: use shared buffers = true\nggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB\nwhisper_init_with_params_no_state: devices = 3\nwhisper_init_with_params_no_state: backends = 3\nwhisper_model_load: loading model\nwhisper_model_load: n_vocab = 51865\nwhisper_model_load: n_audio_ctx = 1500\nwhisper_model_load: n_audio_state = 384\nwhisper_model_load: n_audio_head = 6\nwhisper_model_load: n_audio_layer = 4\nwhisper_model_load: n_text_ctx = 448\nwhisper_model_load: n_text_state = 384\nwhisper_model_load: n_text_head = 6\nwhisper_model_load: n_text_layer = 4\nwhisper_model_load: n_mels = 80\nwhisper_model_load: ftype = 1\nwhisper_model_load: qntvr = 0\nwhisper_model_load: type = 1 (tiny)\nwhisper_model_load: adding 1608 extra tokens\nwhisper_model_load: n_langs = 99\nwhisper_model_load: Metal total size = 77.11 MB\nwhisper_model_load: model size = 77.11 MB\n2026-05-26T20:34:57.693722Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-26T20:34:57.698597Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)\n2026-05-26T20:34:57.698798Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)\n2026-05-26T20:34:57.700088Z INFO screenpipe_audio::audio_manager::manager: seeded 67 speakers (named + unnamed) from DB into embedding manager\n2026-05-26T20:34:57.701536Z INFO screenpipe_audio::audio_manager::manager: audio manager started\n2026-05-26T20:34:57.701576Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events\n2026-05-26T20:34:58.863416Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)\n2026-05-26T20:34:58.864807Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-26T20:34:59.014727Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-26T20:34:59.014823Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-26T20:34:59.014834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.24583334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (docker)","depth":2,"bounds":{"left":0.24583334,"top":0.05888889,"width":0.24583334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.25,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.49166667,"top":0.05888889,"width":0.24583334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49583334,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.7375,"top":0.05888889,"width":0.24583334,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.7416667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.47083333,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
6006427227685445749
|
-1715882311753606045
|
visual_change
|
accessibility
|
NULL
|
Last login: Tue May 26 11:58:03 on ttys007
Poetry Last login: Tue May 26 11:58:03 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 11:49 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 11:58 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 12:02 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 12:05 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
vendor_old/
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ gbr
JY-20891-fix-alias-mismatch-on-sms-text-relay
* master
JY-20963-fix-import-on-deleted-entity
JY-20915-add-domain-specific-email-text-relay
JY-20676-delete-report-related-objects
JY-20613-allow-owner-role-on-team-setup
JY-20725-handle-HS-search-rate-limit
pipedrive-sdk-poc
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'
Your branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master
Merge made by the 'ort' strategy.
contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------
front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----
front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--
front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-
front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------
routes/api_v2.php | 6 +++---
tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------
7 files changed, 61 insertions(+), 46 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
Refresh index: 100% (9182/9182), done.
On branch JY-20891-fix-alias-mismatch-on-sms-text-relay
Your branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.
(use "git push" to publish your local commits)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
modified: tests/Unit/Services/Mail/TextRelayServiceTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start
sp-start='npx screenpipe@latest record --disable-audio --ignored-windows "Boosteroid"'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20
Now using node v20.20.2 (npm v10.8.2)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
Need to install the following packages:
screenpipe@0.3.347
Ok to proceed? (y) yes
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
tip: get the desktop app for chat, timeline, and search UI
→ https://screenpi.pe/onboarding
2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ MacBook Pro Microphone (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture
2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)
2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff
2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)
2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.658438Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=0 rows_returned=1511 elapsed=1.137431917s
2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC
2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-26T20:34:50.005494Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=72707, dur=68ms
2026-05-26T20:34:50.012484Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-26T20:34:50.201960Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=72708, dur=60ms
2026-05-26T20:34:57.486263Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-26T20:34:57.490538Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-26T20:34:57.490670Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-26T20:34:57.490684Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 0.064 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-26T20:34:57.693722Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-26T20:34:57.698597Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-26T20:34:57.698798Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-26T20:34:57.700088Z INFO screenpipe_audio::audio_manager::manager: seeded 67 speakers (named + unnamed) from DB into embedding manager
2026-05-26T20:34:57.701536Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-26T20:34:57.701576Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-26T20:34:58.863416Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-26T20:34:58.864807Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-26T20:34:59.014727Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-26T20:34:59.014823Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-26T20:34:59.014834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
⌥⌘1
screenpipe"...
|
72708
|
NULL
|
NULL
|
NULL
|
|
73581
|
NULL
|
0
|
2026-05-26T18:05:21.131025+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-26/1779 /Users/lukas/.screenpipe/data/data/2026-05-26/1779818721131_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
2026-05-26T20:57:01.555286Z INFO screenpipe_engin 2026-05-26T20:57:01.555286Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6009467168980122687, trigger=click)
2026-05-26T20:57:03.525606Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73315 paired=1 still_pending=0
2026-05-26T20:57:03.796228Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1153177889285745700, trigger=click)
2026-05-26T20:57:05.020658Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73317 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:57:06.482966Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:57:06.510108Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:06.675632Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:06.766183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:09.450394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:09.631125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:09.709630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.307540Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:10.464664Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.757065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.995454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=341 row_id=74424 frame_id=73318
2026-05-26T20:57:11.137675Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:11.885248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:13.242335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=342 row_id=74425 frame_id=73319
2026-05-26T20:57:13.385120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:13.491028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:14.490650Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73319 paired=1 still_pending=0
2026-05-26T20:57:18.592141Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=19 total_pairs=337 total_evicted=258 total_failed=0
2026-05-26T20:57:18.592298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:18.754901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:18.830661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:21.877945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:22.048120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:22.116039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:24.810794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:24.968976Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:25.049467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:29.493586Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:29.647475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:29.737346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:32.776771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:32.933211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:33.009496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:36.510207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:36.636669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:36.749040Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:39.944213Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=22 total_pairs=343 total_evicted=261 total_failed=0
2026-05-26T20:57:39.944379Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73321 paired=1 still_pending=0
2026-05-26T20:57:40.108358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:40.183711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:45.427437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:50.944981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:50.951811Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=22 total_pairs=346 total_evicted=263 total_failed=0
2026-05-26T20:57:51.107181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:55.145114Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=21 total_pairs=346 total_evicted=265 total_failed=0
2026-05-26T20:57:55.145256Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:55.299321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:55.380970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:58.978167Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=347 total_evicted=267 total_failed=0
2026-05-26T20:57:58.978269Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:59.119328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:59.219465Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:00.811564Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:58:05.196203Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:05.196853Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=18 total_pairs=349 total_evicted=271 total_failed=0
2026-05-26T20:58:05.348269Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:05.464986Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:07.300460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:07.456156Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:07.560813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:13.565652Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=14 total_pairs=350 total_evicted=276 total_failed=0
2026-05-26T20:58:13.566813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:13.730197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:13.808563Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:14.657567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:14.850266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:14.934691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:16.395370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:16.547089Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:21.764007Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=15 total_pairs=353 total_evicted=278 total_failed=0
2026-05-26T20:58:21.764159Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:22.025572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:23.157872Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=15 total_pairs=354 total_evicted=279 total_failed=0
2026-05-26T20:58:23.158034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73326 paired=1 still_pending=0
2026-05-26T20:58:24.054463Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0
2026-05-26T20:58:24.197345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:24.495730Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:25.946911Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=363 row_id=74446 frame_id=73327
2026-05-26T20:58:26.099197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:58:26.196847Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:58:27.112178Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0
2026-05-26T20:58:27.268498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:27.346395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:27.732828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73328 paired=1 still_pending=0
2026-05-26T20:58:27.736179Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=18 total_pairs=359 total_evicted=280 total_failed=0
2026-05-26T20:58:27.871903Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:28.528695Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=366 row_id=74449 frame_id=73328
2026-05-26T20:58:30.094037Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:58:33.030009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73331 paired=1 still_pending=0
2026-05-26T20:58:33.032199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=18 total_pairs=361 total_evicted=282 total_failed=0
2026-05-26T20:58:33.140630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=click)
2026-05-26T20:58:34.534745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=visual_change)
2026-05-26T20:58:41.146819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=368 row_id=74451 frame_id=73331
2026-05-26T20:58:41.149210Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=17 total_pairs=362 total_evicted=284 total_failed=0
2026-05-26T20:58:42.314171Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73334 paired=1 still_pending=0
2026-05-26T20:58:45.691991Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=17 total_pairs=363 total_evicted=285 total_failed=0
2026-05-26T20:58:45.692114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73336 paired=1 still_pending=0
2026-05-26T20:58:48.161231Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73338 paired=1 still_pending=0
2026-05-26T20:58:48.883060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73340 paired=1 still_pending=0
2026-05-26T20:58:50.432265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=373 row_id=74456 frame_id=73342
2026-05-26T20:58:50.569018Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:50.700666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:52.378322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73343 paired=1 still_pending=0
2026-05-26T20:58:52.451857Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=21 total_pairs=368 total_evicted=286 total_failed=0
2026-05-26T20:58:53.707852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73345 paired=1 still_pending=0
2026-05-26T20:58:55.883582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0
2026-05-26T20:58:56.137549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:57.531116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0
2026-05-26T20:58:57.538791Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=22 total_pairs=371 total_evicted=287 total_failed=0
2026-05-26T20:58:58.398500Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73351 paired=1 still_pending=0
2026-05-26T20:59:01.312473Z INFO screenpipe_db::db: created new speaker id=69 (no existing match within threshold)
2026-05-26T20:59:01.762272Z INFO screenpipe_db::db: created new speaker id=70 (no existing match within threshold)
2026-05-26T20:59:04.480758Z INFO screenpipe_db::db: created new speaker id=71 (no existing match within threshold)
2026-05-26T20:59:05.815472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=372 total_evicted=289 total_failed=0
2026-05-26T20:59:05.815560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=74462 frame_id=73353
2026-05-26T20:59:06.010204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0
2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0
2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0
2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0
2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0
2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0
2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0
2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0
2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0
2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0
2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0
2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0
2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369
2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)
2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371
2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)
2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372
2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0
2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0
2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0
2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0
2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0
2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)
2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)
2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0
2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0
2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0
2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0
2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0
2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0
2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)
2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0
2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0
2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0
2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0
2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0
2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2
2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0
2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0
2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0
2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0
2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0
2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0
2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0
2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)
2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0
2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)
2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0
2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3....
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"2026-05-26T20:57:01.555286Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6009467168980122687, trigger=click)\n2026-05-26T20:57:03.525606Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73315 paired=1 still_pending=0\n2026-05-26T20:57:03.796228Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1153177889285745700, trigger=click)\n2026-05-26T20:57:05.020658Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73317 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T20:57:06.482966Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T20:57:06.510108Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0\n2026-05-26T20:57:06.675632Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:06.766183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:09.450394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0\n2026-05-26T20:57:09.631125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:09.709630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:10.307540Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0\n2026-05-26T20:57:10.464664Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:10.757065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:10.995454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=341 row_id=74424 frame_id=73318\n2026-05-26T20:57:11.137675Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:11.885248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:13.242335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=342 row_id=74425 frame_id=73319\n2026-05-26T20:57:13.385120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:13.491028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:14.490650Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73319 paired=1 still_pending=0\n2026-05-26T20:57:18.592141Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=19 total_pairs=337 total_evicted=258 total_failed=0\n2026-05-26T20:57:18.592298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:18.754901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:18.830661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:21.877945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:22.048120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:22.116039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:24.810794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:24.968976Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:25.049467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:29.493586Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:29.647475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:29.737346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:32.776771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:32.933211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:33.009496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:36.510207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:36.636669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:36.749040Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:39.944213Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=22 total_pairs=343 total_evicted=261 total_failed=0\n2026-05-26T20:57:39.944379Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73321 paired=1 still_pending=0\n2026-05-26T20:57:40.108358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:40.183711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:45.427437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:50.944981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:57:50.951811Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=22 total_pairs=346 total_evicted=263 total_failed=0\n2026-05-26T20:57:51.107181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:55.145114Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=21 total_pairs=346 total_evicted=265 total_failed=0\n2026-05-26T20:57:55.145256Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:57:55.299321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:55.380970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:58.978167Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=347 total_evicted=267 total_failed=0\n2026-05-26T20:57:58.978269Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:57:59.119328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:59.219465Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:00.811564Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:58:05.196203Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:58:05.196853Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=18 total_pairs=349 total_evicted=271 total_failed=0\n2026-05-26T20:58:05.348269Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:05.464986Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:07.300460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0\n2026-05-26T20:58:07.456156Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:07.560813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:13.565652Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=14 total_pairs=350 total_evicted=276 total_failed=0\n2026-05-26T20:58:13.566813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0\n2026-05-26T20:58:13.730197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:13.808563Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:14.657567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:58:14.850266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:14.934691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:16.395370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:58:16.547089Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:21.764007Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=15 total_pairs=353 total_evicted=278 total_failed=0\n2026-05-26T20:58:21.764159Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0\n2026-05-26T20:58:22.025572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:23.157872Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=15 total_pairs=354 total_evicted=279 total_failed=0\n2026-05-26T20:58:23.158034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73326 paired=1 still_pending=0\n2026-05-26T20:58:24.054463Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0\n2026-05-26T20:58:24.197345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:24.495730Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:25.946911Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=363 row_id=74446 frame_id=73327\n2026-05-26T20:58:26.099197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:58:26.196847Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:58:27.112178Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0\n2026-05-26T20:58:27.268498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:27.346395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:27.732828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73328 paired=1 still_pending=0\n2026-05-26T20:58:27.736179Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=18 total_pairs=359 total_evicted=280 total_failed=0\n2026-05-26T20:58:27.871903Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:28.528695Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=366 row_id=74449 frame_id=73328\n2026-05-26T20:58:30.094037Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:58:33.030009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73331 paired=1 still_pending=0\n2026-05-26T20:58:33.032199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=18 total_pairs=361 total_evicted=282 total_failed=0\n2026-05-26T20:58:33.140630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=click)\n2026-05-26T20:58:34.534745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=visual_change)\n2026-05-26T20:58:41.146819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=368 row_id=74451 frame_id=73331\n2026-05-26T20:58:41.149210Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=17 total_pairs=362 total_evicted=284 total_failed=0\n2026-05-26T20:58:42.314171Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73334 paired=1 still_pending=0\n2026-05-26T20:58:45.691991Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=17 total_pairs=363 total_evicted=285 total_failed=0\n2026-05-26T20:58:45.692114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73336 paired=1 still_pending=0\n2026-05-26T20:58:48.161231Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73338 paired=1 still_pending=0\n2026-05-26T20:58:48.883060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73340 paired=1 still_pending=0\n2026-05-26T20:58:50.432265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=373 row_id=74456 frame_id=73342\n2026-05-26T20:58:50.569018Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:50.700666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:52.378322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73343 paired=1 still_pending=0\n2026-05-26T20:58:52.451857Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=21 total_pairs=368 total_evicted=286 total_failed=0\n2026-05-26T20:58:53.707852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73345 paired=1 still_pending=0\n2026-05-26T20:58:55.883582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0\n2026-05-26T20:58:56.137549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:57.531116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0\n2026-05-26T20:58:57.538791Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=22 total_pairs=371 total_evicted=287 total_failed=0\n2026-05-26T20:58:58.398500Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73351 paired=1 still_pending=0\n2026-05-26T20:59:01.312473Z INFO screenpipe_db::db: created new speaker id=69 (no existing match within threshold)\n2026-05-26T20:59:01.762272Z INFO screenpipe_db::db: created new speaker id=70 (no existing match within threshold)\n2026-05-26T20:59:04.480758Z INFO screenpipe_db::db: created new speaker id=71 (no existing match within threshold)\n2026-05-26T20:59:05.815472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=372 total_evicted=289 total_failed=0\n2026-05-26T20:59:05.815560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=74462 frame_id=73353\n2026-05-26T20:59:06.010204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0\n2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0\n2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0\n2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0\n2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0\n2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0\n2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0\n2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0\n2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0\n2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0\n2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0\n2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0\n2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369\n2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)\n2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371\n2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)\n2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372\n2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0\n2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0\n2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0\n2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0\n2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0\n2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)\n2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)\n2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0\n2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0\n2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0\n2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0\n2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0\n2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0\n2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)\n2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0\n2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0\n2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0\n2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0\n2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0\n2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2\n2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0\n2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0\n2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0\n2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0\n2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0\n2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0\n2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0\n2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)\n2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0\n2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)\n2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0\n2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0\n2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0\n2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0\n2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0\n2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0\n2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0\n2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416\n2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0\n2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0\n2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0\n2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames\n2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424\n2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0\n2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428\n2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0\n2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted\n2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0\n2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0\n2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436\n2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0\n2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)\n2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436\n2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0\n2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 11.9MB → 3.1MB (3.8x), 92 JPEGs deleted\n2026-05-26T21:01:39.098787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73440 paired=1 still_pending=0\n2026-05-26T21:01:39.816943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73442 paired=1 still_pending=0\n2026-05-26T21:01:41.385329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=434 row_id=74525 frame_id=73444\n2026-05-26T21:01:42.354871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73446 paired=1 still_pending=0\n2026-05-26T21:01:45.574125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73448 paired=1 still_pending=0\n2026-05-26T21:01:46.034928Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73450 paired=1 still_pending=0\n2026-05-26T21:01:46.817376Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=438 row_id=74529 frame_id=73452\n2026-05-26T21:01:48.501614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73454 paired=2 still_pending=0\n2026-05-26T21:01:48.978787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=441 row_id=74532 frame_id=73456\n2026-05-26T21:01:50.300896Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73458 paired=1 still_pending=0\n2026-05-26T21:01:53.267672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73459 paired=1 still_pending=0\n2026-05-26T21:01:54.767924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73460 paired=1 still_pending=0\n2026-05-26T21:01:56.067956Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73462 paired=1 still_pending=0\n2026-05-26T21:01:56.889728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73464 paired=1 still_pending=0\n2026-05-26T21:01:58.623225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=447 row_id=74538 frame_id=73466\n2026-05-26T21:01:59.218115Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73468 paired=1 still_pending=0\n2026-05-26T21:02:00.851021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=449 row_id=74540 frame_id=73470\n2026-05-26T21:02:01.998305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73472 paired=1 still_pending=0\n2026-05-26T21:02:04.347288Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=31 total_pairs=441 total_evicted=336 total_failed=0\n2026-05-26T21:02:04.347471Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73474 paired=1 still_pending=0\n2026-05-26T21:02:06.105871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73476 paired=1 still_pending=0\n2026-05-26T21:02:12.109467Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=32 total_pairs=443 total_evicted=337 total_failed=0\n2026-05-26T21:02:12.109773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73478 paired=1 still_pending=0\n2026-05-26T21:02:14.341353Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=454 row_id=74546 frame_id=73480\n2026-05-26T21:02:17.040017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=455 row_id=74548 frame_id=73481\n2026-05-26T21:02:17.044798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=456 row_id=74550 frame_id=73480\n2026-05-26T21:02:26.323751Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=8 pending_events=0 pending_frames=28 total_pairs=447 total_evicted=345 total_failed=0\n2026-05-26T21:02:26.323968Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73483 paired=1 still_pending=0\n2026-05-26T21:02:29.672094Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:02:35.040585Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=1 pending_frames=22 total_pairs=448 total_evicted=352 total_failed=0\n2026-05-26T21:02:35.040671Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73487 paired=1 still_pending=0\n2026-05-26T21:02:36.829794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73489 paired=2 still_pending=0\n2026-05-26T21:02:39.266195Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=23 total_pairs=451 total_evicted=353 total_failed=0\n2026-05-26T21:02:39.266348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73492 paired=1 still_pending=0\n2026-05-26T21:02:40.641223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73493 paired=1 still_pending=0\n2026-05-26T21:02:41.341466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73495 paired=1 still_pending=0\n2026-05-26T21:02:42.388106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=464 row_id=74558 frame_id=73497\n2026-05-26T21:02:42.449887Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=23 total_pairs=455 total_evicted=356 total_failed=0\n2026-05-26T21:02:43.857876Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=465 row_id=74559 frame_id=73499\n2026-05-26T21:02:43.859454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73500 paired=1 still_pending=1\n2026-05-26T21:02:47.265914Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73502 paired=1 still_pending=0\n2026-05-26T21:02:48.361779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=23 total_pairs=458 total_evicted=359 total_failed=0\n2026-05-26T21:02:48.361882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73504 paired=1 still_pending=0\n2026-05-26T21:02:49.288504Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73506 paired=1 still_pending=0\n2026-05-26T21:02:51.020096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73508 paired=1 still_pending=0\n2026-05-26T21:02:52.288712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73510 paired=1 still_pending=0\n2026-05-26T21:02:52.778480Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=462 total_evicted=361 total_failed=0\n2026-05-26T21:02:52.778535Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73512 paired=1 still_pending=0\n2026-05-26T21:02:54.840774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73514 paired=2 still_pending=0\n2026-05-26T21:02:55.666536Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73516 paired=1 still_pending=0\n2026-05-26T21:02:56.821152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=476 row_id=74570 frame_id=73518\n2026-05-26T21:03:00.216356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73520 paired=1 still_pending=0\n2026-05-26T21:03:00.217676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=25 total_pairs=468 total_evicted=366 total_failed=0\n2026-05-26T21:03:03.895290Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=468 total_evicted=368 total_failed=0\n2026-05-26T21:03:03.895422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73522 paired=1 still_pending=0\n2026-05-26T21:03:07.106232Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73524 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:03:08.960210Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 6 orphaned chunks\n2026-05-26T21:03:08.961568Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=470 total_evicted=370 total_failed=0\n2026-05-26T21:03:08.961611Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73526 paired=1 still_pending=0\n2026-05-26T21:03:10.793001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73528 paired=1 still_pending=0\n2026-05-26T21:03:12.906147Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=24 total_pairs=472 total_evicted=371 total_failed=0\n2026-05-26T21:03:12.906273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73530 paired=1 still_pending=0\n2026-05-26T21:03:15.230969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73532 paired=1 still_pending=0\n2026-05-26T21:03:16.055774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73534 paired=1 still_pending=0\n2026-05-26T21:03:18.146639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=485 row_id=74579 frame_id=73536\n2026-05-26T21:03:18.152425Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=476 total_evicted=373 total_failed=0\n2026-05-26T21:03:20.509544Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=486 row_id=74581 frame_id=73538\n2026-05-26T21:03:22.786519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73540 paired=1 still_pending=0\n2026-05-26T21:03:24.377722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=488 row_id=74584 frame_id=73541\n2026-05-26T21:03:27.448734Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=28 total_pairs=479 total_evicted=374 total_failed=0\n2026-05-26T21:03:32.066738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=489 row_id=74588 frame_id=73544\n2026-05-26T21:03:33.180323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=490 row_id=74590 frame_id=73546\n2026-05-26T21:03:36.061033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73546 paired=1 still_pending=0\n2026-05-26T21:03:41.904100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73547 paired=1 still_pending=0\n2026-05-26T21:03:41.905403Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=26 total_pairs=483 total_evicted=378 total_failed=0\n2026-05-26T21:04:00.181150Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:04:13.113524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73550 paired=1 still_pending=0\n2026-05-26T21:04:13.116810Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=18 pending_events=0 pending_frames=10 total_pairs=484 total_evicted=396 total_failed=0\n2026-05-26T21:04:20.198770Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=7 total_pairs=484 total_evicted=399 total_failed=0\n2026-05-26T21:04:20.199028Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73555 paired=1 still_pending=0\n2026-05-26T21:04:20.360514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643362899810751552, trigger=click)\n2026-05-26T21:04:31.815187Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=5 total_pairs=485 total_evicted=402 total_failed=0\n2026-05-26T21:04:31.815348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73556 paired=1 still_pending=0\n2026-05-26T21:04:35.047362Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=4 total_pairs=486 total_evicted=404 total_failed=0\n2026-05-26T21:04:35.047526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73560 paired=1 still_pending=0\n2026-05-26T21:04:35.190069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3396646416531305755, trigger=click)\n2026-05-26T21:04:35.881837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73561 paired=1 still_pending=0\n2026-05-26T21:04:39.664639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=498 row_id=74599 frame_id=73564\n2026-05-26T21:04:40.914816Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73567 paired=1 still_pending=0\n2026-05-26T21:04:42.198029Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73569 paired=1 still_pending=0\n2026-05-26T21:04:42.342866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3577559571019619452, trigger=click)\n2026-05-26T21:04:45.614868Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=491 total_evicted=405 total_failed=0\n2026-05-26T21:04:45.615182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73570 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:05:09.718659Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 7 orphaned chunks\n2026-05-26T21:05:15.332544Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=492 total_evicted=406 total_failed=0\n2026-05-26T21:05:15.332747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73573 paired=1 still_pending=0\n2026-05-26T21:05:15.340779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73574 paired=1 still_pending=1\n2026-05-26T21:05:20.507053Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=8 total_pairs=494 total_evicted=407 total_failed=0\n2026-05-26T21:05:20.507489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73577 paired=1 still_pending=0\n2026-05-26T21:05:20.870902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73579 paired=1 still_pending=0","depth":4,"on_screen":true,"value":"2026-05-26T20:57:01.555286Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6009467168980122687, trigger=click)\n2026-05-26T20:57:03.525606Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73315 paired=1 still_pending=0\n2026-05-26T20:57:03.796228Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1153177889285745700, trigger=click)\n2026-05-26T20:57:05.020658Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73317 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T20:57:06.482966Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T20:57:06.510108Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0\n2026-05-26T20:57:06.675632Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:06.766183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:09.450394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0\n2026-05-26T20:57:09.631125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:09.709630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:10.307540Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0\n2026-05-26T20:57:10.464664Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:10.757065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:10.995454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=341 row_id=74424 frame_id=73318\n2026-05-26T20:57:11.137675Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:11.885248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:13.242335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=342 row_id=74425 frame_id=73319\n2026-05-26T20:57:13.385120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:13.491028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:14.490650Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73319 paired=1 still_pending=0\n2026-05-26T20:57:18.592141Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=19 total_pairs=337 total_evicted=258 total_failed=0\n2026-05-26T20:57:18.592298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:18.754901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:18.830661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:21.877945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:22.048120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:22.116039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:24.810794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:24.968976Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:25.049467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:29.493586Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:29.647475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:29.737346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:32.776771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:32.933211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:33.009496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:36.510207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:36.636669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:36.749040Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:39.944213Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=22 total_pairs=343 total_evicted=261 total_failed=0\n2026-05-26T20:57:39.944379Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73321 paired=1 still_pending=0\n2026-05-26T20:57:40.108358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:40.183711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:45.427437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:50.944981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:57:50.951811Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=22 total_pairs=346 total_evicted=263 total_failed=0\n2026-05-26T20:57:51.107181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:55.145114Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=21 total_pairs=346 total_evicted=265 total_failed=0\n2026-05-26T20:57:55.145256Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:57:55.299321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:55.380970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:58.978167Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=347 total_evicted=267 total_failed=0\n2026-05-26T20:57:58.978269Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:57:59.119328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:59.219465Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:00.811564Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:58:05.196203Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:58:05.196853Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=18 total_pairs=349 total_evicted=271 total_failed=0\n2026-05-26T20:58:05.348269Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:05.464986Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:07.300460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0\n2026-05-26T20:58:07.456156Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:07.560813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:13.565652Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=14 total_pairs=350 total_evicted=276 total_failed=0\n2026-05-26T20:58:13.566813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0\n2026-05-26T20:58:13.730197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:13.808563Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:14.657567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:58:14.850266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:14.934691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:16.395370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:58:16.547089Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:21.764007Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=15 total_pairs=353 total_evicted=278 total_failed=0\n2026-05-26T20:58:21.764159Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0\n2026-05-26T20:58:22.025572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:23.157872Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=15 total_pairs=354 total_evicted=279 total_failed=0\n2026-05-26T20:58:23.158034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73326 paired=1 still_pending=0\n2026-05-26T20:58:24.054463Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0\n2026-05-26T20:58:24.197345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:24.495730Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:25.946911Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=363 row_id=74446 frame_id=73327\n2026-05-26T20:58:26.099197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:58:26.196847Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:58:27.112178Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0\n2026-05-26T20:58:27.268498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:27.346395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:27.732828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73328 paired=1 still_pending=0\n2026-05-26T20:58:27.736179Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=18 total_pairs=359 total_evicted=280 total_failed=0\n2026-05-26T20:58:27.871903Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:28.528695Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=366 row_id=74449 frame_id=73328\n2026-05-26T20:58:30.094037Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:58:33.030009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73331 paired=1 still_pending=0\n2026-05-26T20:58:33.032199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=18 total_pairs=361 total_evicted=282 total_failed=0\n2026-05-26T20:58:33.140630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=click)\n2026-05-26T20:58:34.534745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=visual_change)\n2026-05-26T20:58:41.146819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=368 row_id=74451 frame_id=73331\n2026-05-26T20:58:41.149210Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=17 total_pairs=362 total_evicted=284 total_failed=0\n2026-05-26T20:58:42.314171Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73334 paired=1 still_pending=0\n2026-05-26T20:58:45.691991Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=17 total_pairs=363 total_evicted=285 total_failed=0\n2026-05-26T20:58:45.692114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73336 paired=1 still_pending=0\n2026-05-26T20:58:48.161231Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73338 paired=1 still_pending=0\n2026-05-26T20:58:48.883060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73340 paired=1 still_pending=0\n2026-05-26T20:58:50.432265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=373 row_id=74456 frame_id=73342\n2026-05-26T20:58:50.569018Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:50.700666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:52.378322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73343 paired=1 still_pending=0\n2026-05-26T20:58:52.451857Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=21 total_pairs=368 total_evicted=286 total_failed=0\n2026-05-26T20:58:53.707852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73345 paired=1 still_pending=0\n2026-05-26T20:58:55.883582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0\n2026-05-26T20:58:56.137549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:57.531116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0\n2026-05-26T20:58:57.538791Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=22 total_pairs=371 total_evicted=287 total_failed=0\n2026-05-26T20:58:58.398500Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73351 paired=1 still_pending=0\n2026-05-26T20:59:01.312473Z INFO screenpipe_db::db: created new speaker id=69 (no existing match within threshold)\n2026-05-26T20:59:01.762272Z INFO screenpipe_db::db: created new speaker id=70 (no existing match within threshold)\n2026-05-26T20:59:04.480758Z INFO screenpipe_db::db: created new speaker id=71 (no existing match within threshold)\n2026-05-26T20:59:05.815472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=372 total_evicted=289 total_failed=0\n2026-05-26T20:59:05.815560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=74462 frame_id=73353\n2026-05-26T20:59:06.010204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0\n2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0\n2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0\n2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0\n2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0\n2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0\n2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0\n2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0\n2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0\n2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0\n2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0\n2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0\n2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369\n2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)\n2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371\n2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)\n2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372\n2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0\n2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0\n2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0\n2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0\n2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0\n2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)\n2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)\n2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0\n2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0\n2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0\n2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0\n2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0\n2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0\n2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)\n2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0\n2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0\n2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0\n2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0\n2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0\n2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2\n2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0\n2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0\n2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0\n2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0\n2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0\n2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0\n2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0\n2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)\n2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0\n2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)\n2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0\n2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0\n2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0\n2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0\n2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0\n2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0\n2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0\n2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416\n2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0\n2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0\n2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0\n2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames\n2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424\n2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0\n2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428\n2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0\n2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted\n2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0\n2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0\n2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436\n2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0\n2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)\n2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436\n2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0\n2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 11.9MB → 3.1MB (3.8x), 92 JPEGs deleted\n2026-05-26T21:01:39.098787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73440 paired=1 still_pending=0\n2026-05-26T21:01:39.816943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73442 paired=1 still_pending=0\n2026-05-26T21:01:41.385329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=434 row_id=74525 frame_id=73444\n2026-05-26T21:01:42.354871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73446 paired=1 still_pending=0\n2026-05-26T21:01:45.574125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73448 paired=1 still_pending=0\n2026-05-26T21:01:46.034928Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73450 paired=1 still_pending=0\n2026-05-26T21:01:46.817376Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=438 row_id=74529 frame_id=73452\n2026-05-26T21:01:48.501614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73454 paired=2 still_pending=0\n2026-05-26T21:01:48.978787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=441 row_id=74532 frame_id=73456\n2026-05-26T21:01:50.300896Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73458 paired=1 still_pending=0\n2026-05-26T21:01:53.267672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73459 paired=1 still_pending=0\n2026-05-26T21:01:54.767924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73460 paired=1 still_pending=0\n2026-05-26T21:01:56.067956Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73462 paired=1 still_pending=0\n2026-05-26T21:01:56.889728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73464 paired=1 still_pending=0\n2026-05-26T21:01:58.623225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=447 row_id=74538 frame_id=73466\n2026-05-26T21:01:59.218115Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73468 paired=1 still_pending=0\n2026-05-26T21:02:00.851021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=449 row_id=74540 frame_id=73470\n2026-05-26T21:02:01.998305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73472 paired=1 still_pending=0\n2026-05-26T21:02:04.347288Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=31 total_pairs=441 total_evicted=336 total_failed=0\n2026-05-26T21:02:04.347471Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73474 paired=1 still_pending=0\n2026-05-26T21:02:06.105871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73476 paired=1 still_pending=0\n2026-05-26T21:02:12.109467Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=32 total_pairs=443 total_evicted=337 total_failed=0\n2026-05-26T21:02:12.109773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73478 paired=1 still_pending=0\n2026-05-26T21:02:14.341353Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=454 row_id=74546 frame_id=73480\n2026-05-26T21:02:17.040017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=455 row_id=74548 frame_id=73481\n2026-05-26T21:02:17.044798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=456 row_id=74550 frame_id=73480\n2026-05-26T21:02:26.323751Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=8 pending_events=0 pending_frames=28 total_pairs=447 total_evicted=345 total_failed=0\n2026-05-26T21:02:26.323968Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73483 paired=1 still_pending=0\n2026-05-26T21:02:29.672094Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:02:35.040585Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=1 pending_frames=22 total_pairs=448 total_evicted=352 total_failed=0\n2026-05-26T21:02:35.040671Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73487 paired=1 still_pending=0\n2026-05-26T21:02:36.829794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73489 paired=2 still_pending=0\n2026-05-26T21:02:39.266195Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=23 total_pairs=451 total_evicted=353 total_failed=0\n2026-05-26T21:02:39.266348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73492 paired=1 still_pending=0\n2026-05-26T21:02:40.641223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73493 paired=1 still_pending=0\n2026-05-26T21:02:41.341466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73495 paired=1 still_pending=0\n2026-05-26T21:02:42.388106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=464 row_id=74558 frame_id=73497\n2026-05-26T21:02:42.449887Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=23 total_pairs=455 total_evicted=356 total_failed=0\n2026-05-26T21:02:43.857876Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=465 row_id=74559 frame_id=73499\n2026-05-26T21:02:43.859454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73500 paired=1 still_pending=1\n2026-05-26T21:02:47.265914Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73502 paired=1 still_pending=0\n2026-05-26T21:02:48.361779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=23 total_pairs=458 total_evicted=359 total_failed=0\n2026-05-26T21:02:48.361882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73504 paired=1 still_pending=0\n2026-05-26T21:02:49.288504Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73506 paired=1 still_pending=0\n2026-05-26T21:02:51.020096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73508 paired=1 still_pending=0\n2026-05-26T21:02:52.288712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73510 paired=1 still_pending=0\n2026-05-26T21:02:52.778480Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=462 total_evicted=361 total_failed=0\n2026-05-26T21:02:52.778535Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73512 paired=1 still_pending=0\n2026-05-26T21:02:54.840774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73514 paired=2 still_pending=0\n2026-05-26T21:02:55.666536Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73516 paired=1 still_pending=0\n2026-05-26T21:02:56.821152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=476 row_id=74570 frame_id=73518\n2026-05-26T21:03:00.216356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73520 paired=1 still_pending=0\n2026-05-26T21:03:00.217676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=25 total_pairs=468 total_evicted=366 total_failed=0\n2026-05-26T21:03:03.895290Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=468 total_evicted=368 total_failed=0\n2026-05-26T21:03:03.895422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73522 paired=1 still_pending=0\n2026-05-26T21:03:07.106232Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73524 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:03:08.960210Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 6 orphaned chunks\n2026-05-26T21:03:08.961568Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=470 total_evicted=370 total_failed=0\n2026-05-26T21:03:08.961611Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73526 paired=1 still_pending=0\n2026-05-26T21:03:10.793001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73528 paired=1 still_pending=0\n2026-05-26T21:03:12.906147Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=24 total_pairs=472 total_evicted=371 total_failed=0\n2026-05-26T21:03:12.906273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73530 paired=1 still_pending=0\n2026-05-26T21:03:15.230969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73532 paired=1 still_pending=0\n2026-05-26T21:03:16.055774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73534 paired=1 still_pending=0\n2026-05-26T21:03:18.146639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=485 row_id=74579 frame_id=73536\n2026-05-26T21:03:18.152425Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=476 total_evicted=373 total_failed=0\n2026-05-26T21:03:20.509544Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=486 row_id=74581 frame_id=73538\n2026-05-26T21:03:22.786519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73540 paired=1 still_pending=0\n2026-05-26T21:03:24.377722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=488 row_id=74584 frame_id=73541\n2026-05-26T21:03:27.448734Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=28 total_pairs=479 total_evicted=374 total_failed=0\n2026-05-26T21:03:32.066738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=489 row_id=74588 frame_id=73544\n2026-05-26T21:03:33.180323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=490 row_id=74590 frame_id=73546\n2026-05-26T21:03:36.061033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73546 paired=1 still_pending=0\n2026-05-26T21:03:41.904100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73547 paired=1 still_pending=0\n2026-05-26T21:03:41.905403Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=26 total_pairs=483 total_evicted=378 total_failed=0\n2026-05-26T21:04:00.181150Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:04:13.113524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73550 paired=1 still_pending=0\n2026-05-26T21:04:13.116810Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=18 pending_events=0 pending_frames=10 total_pairs=484 total_evicted=396 total_failed=0\n2026-05-26T21:04:20.198770Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=7 total_pairs=484 total_evicted=399 total_failed=0\n2026-05-26T21:04:20.199028Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73555 paired=1 still_pending=0\n2026-05-26T21:04:20.360514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643362899810751552, trigger=click)\n2026-05-26T21:04:31.815187Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=5 total_pairs=485 total_evicted=402 total_failed=0\n2026-05-26T21:04:31.815348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73556 paired=1 still_pending=0\n2026-05-26T21:04:35.047362Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=4 total_pairs=486 total_evicted=404 total_failed=0\n2026-05-26T21:04:35.047526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73560 paired=1 still_pending=0\n2026-05-26T21:04:35.190069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3396646416531305755, trigger=click)\n2026-05-26T21:04:35.881837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73561 paired=1 still_pending=0\n2026-05-26T21:04:39.664639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=498 row_id=74599 frame_id=73564\n2026-05-26T21:04:40.914816Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73567 paired=1 still_pending=0\n2026-05-26T21:04:42.198029Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73569 paired=1 still_pending=0\n2026-05-26T21:04:42.342866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3577559571019619452, trigger=click)\n2026-05-26T21:04:45.614868Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=491 total_evicted=405 total_failed=0\n2026-05-26T21:04:45.615182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73570 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:05:09.718659Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 7 orphaned chunks\n2026-05-26T21:05:15.332544Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=492 total_evicted=406 total_failed=0\n2026-05-26T21:05:15.332747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73573 paired=1 still_pending=0\n2026-05-26T21:05:15.340779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73574 paired=1 still_pending=1\n2026-05-26T21:05:20.507053Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=8 total_pairs=494 total_evicted=407 total_failed=0\n2026-05-26T21:05:20.507489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73577 paired=1 still_pending=0\n2026-05-26T21:05:20.870902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73579 paired=1 still_pending=0","is_focused":true}]...
|
6428445175211390380
|
2643123729671747041
|
visual_change
|
accessibility
|
NULL
|
2026-05-26T20:57:01.555286Z INFO screenpipe_engin 2026-05-26T20:57:01.555286Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6009467168980122687, trigger=click)
2026-05-26T20:57:03.525606Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73315 paired=1 still_pending=0
2026-05-26T20:57:03.796228Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1153177889285745700, trigger=click)
2026-05-26T20:57:05.020658Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73317 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:57:06.482966Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:57:06.510108Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:06.675632Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:06.766183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:09.450394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:09.631125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:09.709630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.307540Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:10.464664Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.757065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.995454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=341 row_id=74424 frame_id=73318
2026-05-26T20:57:11.137675Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:11.885248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:13.242335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=342 row_id=74425 frame_id=73319
2026-05-26T20:57:13.385120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:13.491028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:14.490650Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73319 paired=1 still_pending=0
2026-05-26T20:57:18.592141Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=19 total_pairs=337 total_evicted=258 total_failed=0
2026-05-26T20:57:18.592298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:18.754901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:18.830661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:21.877945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:22.048120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:22.116039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:24.810794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:24.968976Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:25.049467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:29.493586Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:29.647475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:29.737346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:32.776771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:32.933211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:33.009496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:36.510207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:36.636669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:36.749040Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:39.944213Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=22 total_pairs=343 total_evicted=261 total_failed=0
2026-05-26T20:57:39.944379Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73321 paired=1 still_pending=0
2026-05-26T20:57:40.108358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:40.183711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:45.427437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:50.944981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:50.951811Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=22 total_pairs=346 total_evicted=263 total_failed=0
2026-05-26T20:57:51.107181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:55.145114Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=21 total_pairs=346 total_evicted=265 total_failed=0
2026-05-26T20:57:55.145256Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:55.299321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:55.380970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:58.978167Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=347 total_evicted=267 total_failed=0
2026-05-26T20:57:58.978269Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:59.119328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:59.219465Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:00.811564Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:58:05.196203Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:05.196853Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=18 total_pairs=349 total_evicted=271 total_failed=0
2026-05-26T20:58:05.348269Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:05.464986Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:07.300460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:07.456156Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:07.560813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:13.565652Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=14 total_pairs=350 total_evicted=276 total_failed=0
2026-05-26T20:58:13.566813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:13.730197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:13.808563Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:14.657567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:14.850266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:14.934691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:16.395370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:16.547089Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:21.764007Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=15 total_pairs=353 total_evicted=278 total_failed=0
2026-05-26T20:58:21.764159Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:22.025572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:23.157872Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=15 total_pairs=354 total_evicted=279 total_failed=0
2026-05-26T20:58:23.158034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73326 paired=1 still_pending=0
2026-05-26T20:58:24.054463Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0
2026-05-26T20:58:24.197345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:24.495730Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:25.946911Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=363 row_id=74446 frame_id=73327
2026-05-26T20:58:26.099197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:58:26.196847Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:58:27.112178Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0
2026-05-26T20:58:27.268498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:27.346395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:27.732828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73328 paired=1 still_pending=0
2026-05-26T20:58:27.736179Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=18 total_pairs=359 total_evicted=280 total_failed=0
2026-05-26T20:58:27.871903Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:28.528695Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=366 row_id=74449 frame_id=73328
2026-05-26T20:58:30.094037Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:58:33.030009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73331 paired=1 still_pending=0
2026-05-26T20:58:33.032199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=18 total_pairs=361 total_evicted=282 total_failed=0
2026-05-26T20:58:33.140630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=click)
2026-05-26T20:58:34.534745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=visual_change)
2026-05-26T20:58:41.146819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=368 row_id=74451 frame_id=73331
2026-05-26T20:58:41.149210Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=17 total_pairs=362 total_evicted=284 total_failed=0
2026-05-26T20:58:42.314171Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73334 paired=1 still_pending=0
2026-05-26T20:58:45.691991Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=17 total_pairs=363 total_evicted=285 total_failed=0
2026-05-26T20:58:45.692114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73336 paired=1 still_pending=0
2026-05-26T20:58:48.161231Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73338 paired=1 still_pending=0
2026-05-26T20:58:48.883060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73340 paired=1 still_pending=0
2026-05-26T20:58:50.432265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=373 row_id=74456 frame_id=73342
2026-05-26T20:58:50.569018Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:50.700666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:52.378322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73343 paired=1 still_pending=0
2026-05-26T20:58:52.451857Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=21 total_pairs=368 total_evicted=286 total_failed=0
2026-05-26T20:58:53.707852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73345 paired=1 still_pending=0
2026-05-26T20:58:55.883582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0
2026-05-26T20:58:56.137549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:57.531116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0
2026-05-26T20:58:57.538791Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=22 total_pairs=371 total_evicted=287 total_failed=0
2026-05-26T20:58:58.398500Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73351 paired=1 still_pending=0
2026-05-26T20:59:01.312473Z INFO screenpipe_db::db: created new speaker id=69 (no existing match within threshold)
2026-05-26T20:59:01.762272Z INFO screenpipe_db::db: created new speaker id=70 (no existing match within threshold)
2026-05-26T20:59:04.480758Z INFO screenpipe_db::db: created new speaker id=71 (no existing match within threshold)
2026-05-26T20:59:05.815472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=372 total_evicted=289 total_failed=0
2026-05-26T20:59:05.815560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=74462 frame_id=73353
2026-05-26T20:59:06.010204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0
2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0
2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0
2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0
2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0
2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0
2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0
2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0
2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0
2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0
2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0
2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0
2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369
2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)
2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371
2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)
2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372
2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0
2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0
2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0
2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0
2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0
2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)
2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)
2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0
2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0
2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0
2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0
2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0
2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0
2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)
2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0
2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0
2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0
2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0
2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0
2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2
2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0
2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0
2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0
2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0
2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0
2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0
2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0
2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)
2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0
2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)
2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0
2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3....
|
NULL
|
NULL
|
NULL
|
NULL
|
|
73582
|
2628
|
0
|
2026-05-27T06:41:50.132112+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-27/1779 /Users/lukas/.screenpipe/data/data/2026-05-27/1779864110132_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_init_state: kv pad size = 2.36 MB
whi whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:57:06.482966Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:57:06.510108Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:06.675632Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:06.766183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:09.450394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:09.631125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:09.709630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.307540Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:10.464664Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.757065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.995454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=341 row_id=74424 frame_id=73318
2026-05-26T20:57:11.137675Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:11.885248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:13.242335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=342 row_id=74425 frame_id=73319
2026-05-26T20:57:13.385120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:13.491028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:14.490650Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73319 paired=1 still_pending=0
2026-05-26T20:57:18.592141Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=19 total_pairs=337 total_evicted=258 total_failed=0
2026-05-26T20:57:18.592298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:18.754901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:18.830661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:21.877945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:22.048120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:22.116039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:24.810794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:24.968976Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:25.049467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:29.493586Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:29.647475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:29.737346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:32.776771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:32.933211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:33.009496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:36.510207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:36.636669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:36.749040Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:39.944213Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=22 total_pairs=343 total_evicted=261 total_failed=0
2026-05-26T20:57:39.944379Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73321 paired=1 still_pending=0
2026-05-26T20:57:40.108358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:40.183711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:45.427437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:50.944981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:50.951811Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=22 total_pairs=346 total_evicted=263 total_failed=0
2026-05-26T20:57:51.107181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:55.145114Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=21 total_pairs=346 total_evicted=265 total_failed=0
2026-05-26T20:57:55.145256Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:55.299321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:55.380970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:58.978167Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=347 total_evicted=267 total_failed=0
2026-05-26T20:57:58.978269Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:59.119328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:59.219465Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:00.811564Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:58:05.196203Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:05.196853Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=18 total_pairs=349 total_evicted=271 total_failed=0
2026-05-26T20:58:05.348269Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:05.464986Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:07.300460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:07.456156Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:07.560813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:13.565652Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=14 total_pairs=350 total_evicted=276 total_failed=0
2026-05-26T20:58:13.566813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:13.730197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:13.808563Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:14.657567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:14.850266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:14.934691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:16.395370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:16.547089Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:21.764007Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=15 total_pairs=353 total_evicted=278 total_failed=0
2026-05-26T20:58:21.764159Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:22.025572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:23.157872Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=15 total_pairs=354 total_evicted=279 total_failed=0
2026-05-26T20:58:23.158034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73326 paired=1 still_pending=0
2026-05-26T20:58:24.054463Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0
2026-05-26T20:58:24.197345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:24.495730Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:25.946911Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=363 row_id=74446 frame_id=73327
2026-05-26T20:58:26.099197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:58:26.196847Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:58:27.112178Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0
2026-05-26T20:58:27.268498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:27.346395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:27.732828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73328 paired=1 still_pending=0
2026-05-26T20:58:27.736179Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=18 total_pairs=359 total_evicted=280 total_failed=0
2026-05-26T20:58:27.871903Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:28.528695Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=366 row_id=74449 frame_id=73328
2026-05-26T20:58:30.094037Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:58:33.030009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73331 paired=1 still_pending=0
2026-05-26T20:58:33.032199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=18 total_pairs=361 total_evicted=282 total_failed=0
2026-05-26T20:58:33.140630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=click)
2026-05-26T20:58:34.534745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=visual_change)
2026-05-26T20:58:41.146819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=368 row_id=74451 frame_id=73331
2026-05-26T20:58:41.149210Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=17 total_pairs=362 total_evicted=284 total_failed=0
2026-05-26T20:58:42.314171Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73334 paired=1 still_pending=0
2026-05-26T20:58:45.691991Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=17 total_pairs=363 total_evicted=285 total_failed=0
2026-05-26T20:58:45.692114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73336 paired=1 still_pending=0
2026-05-26T20:58:48.161231Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73338 paired=1 still_pending=0
2026-05-26T20:58:48.883060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73340 paired=1 still_pending=0
2026-05-26T20:58:50.432265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=373 row_id=74456 frame_id=73342
2026-05-26T20:58:50.569018Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:50.700666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:52.378322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73343 paired=1 still_pending=0
2026-05-26T20:58:52.451857Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=21 total_pairs=368 total_evicted=286 total_failed=0
2026-05-26T20:58:53.707852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73345 paired=1 still_pending=0
2026-05-26T20:58:55.883582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0
2026-05-26T20:58:56.137549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:57.531116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0
2026-05-26T20:58:57.538791Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=22 total_pairs=371 total_evicted=287 total_failed=0
2026-05-26T20:58:58.398500Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73351 paired=1 still_pending=0
2026-05-26T20:59:01.312473Z INFO screenpipe_db::db: created new speaker id=69 (no existing match within threshold)
2026-05-26T20:59:01.762272Z INFO screenpipe_db::db: created new speaker id=70 (no existing match within threshold)
2026-05-26T20:59:04.480758Z INFO screenpipe_db::db: created new speaker id=71 (no existing match within threshold)
2026-05-26T20:59:05.815472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=372 total_evicted=289 total_failed=0
2026-05-26T20:59:05.815560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=74462 frame_id=73353
2026-05-26T20:59:06.010204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0
2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0
2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0
2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0
2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0
2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0
2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0
2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0
2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0
2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0
2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0
2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0
2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369
2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)
2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371
2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)
2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372
2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0
2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0
2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0
2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0
2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0
2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)
2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)
2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0
2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0
2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0
2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0
2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0
2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0
2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)
2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0
2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0
2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0
2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0
2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0
2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2
2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0
2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0
2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0
2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0
2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0
2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0
2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0
2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)
2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0
2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)
2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0
2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0
2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0
2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0
2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0
2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0
2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0
2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416
2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0
2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0
2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0
2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames
2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424
2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0
2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428
2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0
2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted
2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0
2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0
2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436
2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0
2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)
2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436
2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0
2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapsho...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T20:57:06.482966Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T20:57:06.510108Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0\n2026-05-26T20:57:06.675632Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:06.766183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:09.450394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0\n2026-05-26T20:57:09.631125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:09.709630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:10.307540Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0\n2026-05-26T20:57:10.464664Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:10.757065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:10.995454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=341 row_id=74424 frame_id=73318\n2026-05-26T20:57:11.137675Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:11.885248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:13.242335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=342 row_id=74425 frame_id=73319\n2026-05-26T20:57:13.385120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:13.491028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:14.490650Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73319 paired=1 still_pending=0\n2026-05-26T20:57:18.592141Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=19 total_pairs=337 total_evicted=258 total_failed=0\n2026-05-26T20:57:18.592298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:18.754901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:18.830661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:21.877945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:22.048120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:22.116039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:24.810794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:24.968976Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:25.049467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:29.493586Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:29.647475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:29.737346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:32.776771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:32.933211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:33.009496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:36.510207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:36.636669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:36.749040Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:39.944213Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=22 total_pairs=343 total_evicted=261 total_failed=0\n2026-05-26T20:57:39.944379Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73321 paired=1 still_pending=0\n2026-05-26T20:57:40.108358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:40.183711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:45.427437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:50.944981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:57:50.951811Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=22 total_pairs=346 total_evicted=263 total_failed=0\n2026-05-26T20:57:51.107181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:55.145114Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=21 total_pairs=346 total_evicted=265 total_failed=0\n2026-05-26T20:57:55.145256Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:57:55.299321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:55.380970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:58.978167Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=347 total_evicted=267 total_failed=0\n2026-05-26T20:57:58.978269Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:57:59.119328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:59.219465Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:00.811564Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:58:05.196203Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:58:05.196853Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=18 total_pairs=349 total_evicted=271 total_failed=0\n2026-05-26T20:58:05.348269Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:05.464986Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:07.300460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0\n2026-05-26T20:58:07.456156Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:07.560813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:13.565652Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=14 total_pairs=350 total_evicted=276 total_failed=0\n2026-05-26T20:58:13.566813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0\n2026-05-26T20:58:13.730197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:13.808563Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:14.657567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:58:14.850266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:14.934691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:16.395370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:58:16.547089Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:21.764007Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=15 total_pairs=353 total_evicted=278 total_failed=0\n2026-05-26T20:58:21.764159Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0\n2026-05-26T20:58:22.025572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:23.157872Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=15 total_pairs=354 total_evicted=279 total_failed=0\n2026-05-26T20:58:23.158034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73326 paired=1 still_pending=0\n2026-05-26T20:58:24.054463Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0\n2026-05-26T20:58:24.197345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:24.495730Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:25.946911Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=363 row_id=74446 frame_id=73327\n2026-05-26T20:58:26.099197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:58:26.196847Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:58:27.112178Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0\n2026-05-26T20:58:27.268498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:27.346395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:27.732828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73328 paired=1 still_pending=0\n2026-05-26T20:58:27.736179Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=18 total_pairs=359 total_evicted=280 total_failed=0\n2026-05-26T20:58:27.871903Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:28.528695Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=366 row_id=74449 frame_id=73328\n2026-05-26T20:58:30.094037Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:58:33.030009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73331 paired=1 still_pending=0\n2026-05-26T20:58:33.032199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=18 total_pairs=361 total_evicted=282 total_failed=0\n2026-05-26T20:58:33.140630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=click)\n2026-05-26T20:58:34.534745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=visual_change)\n2026-05-26T20:58:41.146819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=368 row_id=74451 frame_id=73331\n2026-05-26T20:58:41.149210Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=17 total_pairs=362 total_evicted=284 total_failed=0\n2026-05-26T20:58:42.314171Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73334 paired=1 still_pending=0\n2026-05-26T20:58:45.691991Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=17 total_pairs=363 total_evicted=285 total_failed=0\n2026-05-26T20:58:45.692114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73336 paired=1 still_pending=0\n2026-05-26T20:58:48.161231Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73338 paired=1 still_pending=0\n2026-05-26T20:58:48.883060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73340 paired=1 still_pending=0\n2026-05-26T20:58:50.432265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=373 row_id=74456 frame_id=73342\n2026-05-26T20:58:50.569018Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:50.700666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:52.378322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73343 paired=1 still_pending=0\n2026-05-26T20:58:52.451857Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=21 total_pairs=368 total_evicted=286 total_failed=0\n2026-05-26T20:58:53.707852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73345 paired=1 still_pending=0\n2026-05-26T20:58:55.883582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0\n2026-05-26T20:58:56.137549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:57.531116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0\n2026-05-26T20:58:57.538791Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=22 total_pairs=371 total_evicted=287 total_failed=0\n2026-05-26T20:58:58.398500Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73351 paired=1 still_pending=0\n2026-05-26T20:59:01.312473Z INFO screenpipe_db::db: created new speaker id=69 (no existing match within threshold)\n2026-05-26T20:59:01.762272Z INFO screenpipe_db::db: created new speaker id=70 (no existing match within threshold)\n2026-05-26T20:59:04.480758Z INFO screenpipe_db::db: created new speaker id=71 (no existing match within threshold)\n2026-05-26T20:59:05.815472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=372 total_evicted=289 total_failed=0\n2026-05-26T20:59:05.815560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=74462 frame_id=73353\n2026-05-26T20:59:06.010204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0\n2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0\n2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0\n2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0\n2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0\n2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0\n2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0\n2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0\n2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0\n2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0\n2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0\n2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0\n2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369\n2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)\n2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371\n2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)\n2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372\n2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0\n2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0\n2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0\n2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0\n2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0\n2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)\n2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)\n2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0\n2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0\n2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0\n2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0\n2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0\n2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0\n2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)\n2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0\n2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0\n2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0\n2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0\n2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0\n2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2\n2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0\n2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0\n2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0\n2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0\n2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0\n2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0\n2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0\n2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)\n2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0\n2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)\n2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0\n2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0\n2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0\n2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0\n2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0\n2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0\n2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0\n2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416\n2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0\n2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0\n2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0\n2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames\n2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424\n2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0\n2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428\n2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0\n2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted\n2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0\n2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0\n2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436\n2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0\n2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)\n2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436\n2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0\n2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 11.9MB → 3.1MB (3.8x), 92 JPEGs deleted\n2026-05-26T21:01:39.098787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73440 paired=1 still_pending=0\n2026-05-26T21:01:39.816943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73442 paired=1 still_pending=0\n2026-05-26T21:01:41.385329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=434 row_id=74525 frame_id=73444\n2026-05-26T21:01:42.354871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73446 paired=1 still_pending=0\n2026-05-26T21:01:45.574125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73448 paired=1 still_pending=0\n2026-05-26T21:01:46.034928Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73450 paired=1 still_pending=0\n2026-05-26T21:01:46.817376Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=438 row_id=74529 frame_id=73452\n2026-05-26T21:01:48.501614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73454 paired=2 still_pending=0\n2026-05-26T21:01:48.978787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=441 row_id=74532 frame_id=73456\n2026-05-26T21:01:50.300896Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73458 paired=1 still_pending=0\n2026-05-26T21:01:53.267672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73459 paired=1 still_pending=0\n2026-05-26T21:01:54.767924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73460 paired=1 still_pending=0\n2026-05-26T21:01:56.067956Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73462 paired=1 still_pending=0\n2026-05-26T21:01:56.889728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73464 paired=1 still_pending=0\n2026-05-26T21:01:58.623225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=447 row_id=74538 frame_id=73466\n2026-05-26T21:01:59.218115Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73468 paired=1 still_pending=0\n2026-05-26T21:02:00.851021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=449 row_id=74540 frame_id=73470\n2026-05-26T21:02:01.998305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73472 paired=1 still_pending=0\n2026-05-26T21:02:04.347288Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=31 total_pairs=441 total_evicted=336 total_failed=0\n2026-05-26T21:02:04.347471Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73474 paired=1 still_pending=0\n2026-05-26T21:02:06.105871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73476 paired=1 still_pending=0\n2026-05-26T21:02:12.109467Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=32 total_pairs=443 total_evicted=337 total_failed=0\n2026-05-26T21:02:12.109773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73478 paired=1 still_pending=0\n2026-05-26T21:02:14.341353Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=454 row_id=74546 frame_id=73480\n2026-05-26T21:02:17.040017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=455 row_id=74548 frame_id=73481\n2026-05-26T21:02:17.044798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=456 row_id=74550 frame_id=73480\n2026-05-26T21:02:26.323751Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=8 pending_events=0 pending_frames=28 total_pairs=447 total_evicted=345 total_failed=0\n2026-05-26T21:02:26.323968Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73483 paired=1 still_pending=0\n2026-05-26T21:02:29.672094Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:02:35.040585Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=1 pending_frames=22 total_pairs=448 total_evicted=352 total_failed=0\n2026-05-26T21:02:35.040671Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73487 paired=1 still_pending=0\n2026-05-26T21:02:36.829794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73489 paired=2 still_pending=0\n2026-05-26T21:02:39.266195Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=23 total_pairs=451 total_evicted=353 total_failed=0\n2026-05-26T21:02:39.266348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73492 paired=1 still_pending=0\n2026-05-26T21:02:40.641223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73493 paired=1 still_pending=0\n2026-05-26T21:02:41.341466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73495 paired=1 still_pending=0\n2026-05-26T21:02:42.388106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=464 row_id=74558 frame_id=73497\n2026-05-26T21:02:42.449887Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=23 total_pairs=455 total_evicted=356 total_failed=0\n2026-05-26T21:02:43.857876Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=465 row_id=74559 frame_id=73499\n2026-05-26T21:02:43.859454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73500 paired=1 still_pending=1\n2026-05-26T21:02:47.265914Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73502 paired=1 still_pending=0\n2026-05-26T21:02:48.361779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=23 total_pairs=458 total_evicted=359 total_failed=0\n2026-05-26T21:02:48.361882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73504 paired=1 still_pending=0\n2026-05-26T21:02:49.288504Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73506 paired=1 still_pending=0\n2026-05-26T21:02:51.020096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73508 paired=1 still_pending=0\n2026-05-26T21:02:52.288712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73510 paired=1 still_pending=0\n2026-05-26T21:02:52.778480Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=462 total_evicted=361 total_failed=0\n2026-05-26T21:02:52.778535Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73512 paired=1 still_pending=0\n2026-05-26T21:02:54.840774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73514 paired=2 still_pending=0\n2026-05-26T21:02:55.666536Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73516 paired=1 still_pending=0\n2026-05-26T21:02:56.821152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=476 row_id=74570 frame_id=73518\n2026-05-26T21:03:00.216356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73520 paired=1 still_pending=0\n2026-05-26T21:03:00.217676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=25 total_pairs=468 total_evicted=366 total_failed=0\n2026-05-26T21:03:03.895290Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=468 total_evicted=368 total_failed=0\n2026-05-26T21:03:03.895422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73522 paired=1 still_pending=0\n2026-05-26T21:03:07.106232Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73524 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:03:08.960210Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 6 orphaned chunks\n2026-05-26T21:03:08.961568Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=470 total_evicted=370 total_failed=0\n2026-05-26T21:03:08.961611Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73526 paired=1 still_pending=0\n2026-05-26T21:03:10.793001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73528 paired=1 still_pending=0\n2026-05-26T21:03:12.906147Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=24 total_pairs=472 total_evicted=371 total_failed=0\n2026-05-26T21:03:12.906273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73530 paired=1 still_pending=0\n2026-05-26T21:03:15.230969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73532 paired=1 still_pending=0\n2026-05-26T21:03:16.055774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73534 paired=1 still_pending=0\n2026-05-26T21:03:18.146639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=485 row_id=74579 frame_id=73536\n2026-05-26T21:03:18.152425Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=476 total_evicted=373 total_failed=0\n2026-05-26T21:03:20.509544Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=486 row_id=74581 frame_id=73538\n2026-05-26T21:03:22.786519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73540 paired=1 still_pending=0\n2026-05-26T21:03:24.377722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=488 row_id=74584 frame_id=73541\n2026-05-26T21:03:27.448734Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=28 total_pairs=479 total_evicted=374 total_failed=0\n2026-05-26T21:03:32.066738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=489 row_id=74588 frame_id=73544\n2026-05-26T21:03:33.180323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=490 row_id=74590 frame_id=73546\n2026-05-26T21:03:36.061033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73546 paired=1 still_pending=0\n2026-05-26T21:03:41.904100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73547 paired=1 still_pending=0\n2026-05-26T21:03:41.905403Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=26 total_pairs=483 total_evicted=378 total_failed=0\n2026-05-26T21:04:00.181150Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:04:13.113524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73550 paired=1 still_pending=0\n2026-05-26T21:04:13.116810Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=18 pending_events=0 pending_frames=10 total_pairs=484 total_evicted=396 total_failed=0\n2026-05-26T21:04:20.198770Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=7 total_pairs=484 total_evicted=399 total_failed=0\n2026-05-26T21:04:20.199028Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73555 paired=1 still_pending=0\n2026-05-26T21:04:20.360514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643362899810751552, trigger=click)\n2026-05-26T21:04:31.815187Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=5 total_pairs=485 total_evicted=402 total_failed=0\n2026-05-26T21:04:31.815348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73556 paired=1 still_pending=0\n2026-05-26T21:04:35.047362Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=4 total_pairs=486 total_evicted=404 total_failed=0\n2026-05-26T21:04:35.047526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73560 paired=1 still_pending=0\n2026-05-26T21:04:35.190069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3396646416531305755, trigger=click)\n2026-05-26T21:04:35.881837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73561 paired=1 still_pending=0\n2026-05-26T21:04:39.664639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=498 row_id=74599 frame_id=73564\n2026-05-26T21:04:40.914816Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73567 paired=1 still_pending=0\n2026-05-26T21:04:42.198029Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73569 paired=1 still_pending=0\n2026-05-26T21:04:42.342866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3577559571019619452, trigger=click)\n2026-05-26T21:04:45.614868Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=491 total_evicted=405 total_failed=0\n2026-05-26T21:04:45.615182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73570 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:05:09.718659Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 7 orphaned chunks\n2026-05-26T21:05:15.332544Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=492 total_evicted=406 total_failed=0\n2026-05-26T21:05:15.332747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73573 paired=1 still_pending=0\n2026-05-26T21:05:15.340779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73574 paired=1 still_pending=1\n2026-05-26T21:05:20.507053Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=8 total_pairs=494 total_evicted=407 total_failed=0\n2026-05-26T21:05:20.507489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73577 paired=1 still_pending=0\n2026-05-26T21:05:20.870902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73579 paired=1 still_pending=0\n2026-05-26T21:05:24.171609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6428445175211390380, trigger=visual_change)\n^C2026-05-26T21:05:25.159446Z INFO screenpipe: received ctrl+c, initiating shutdown\n2026-05-26T21:05:25.160130Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-26T21:05:25.160329Z INFO screenpipe_audio::device::device_manager: Stopping device: System Audio (output)\n2026-05-26T21:05:25.187809Z INFO screenpipe_audio::audio_manager::manager: audio manager stopped\n2026-05-26T21:05:25.187869Z INFO screenpipe: stopping UI event capture\n2026-05-26T21:05:25.187920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker shutting down\n2026-05-26T21:05:25.187943Z INFO screenpipe_engine::meeting_detector: meeting v2: shutdown received, exiting detection loop\n2026-05-26T21:05:25.188071Z INFO screenpipe: received shutdown signal for VisionManager\n2026-05-26T21:05:25.188239Z INFO screenpipe_engine::vision_manager::manager: Shutting down VisionManager\n2026-05-26T21:05:25.188247Z INFO screenpipe_engine::vision_manager::manager: Stopping VisionManager\n2026-05-26T21:05:25.188371Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-05-26T21:05:25.189841Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-05-26T21:05:25.204118Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-05-26T21:05:25.314845Z INFO screenpipe_engine::ui_recorder: UI recording session ended: e77d1c43-6f9b-4fee-83e7-1833090386ff\n2026-05-26T21:05:25.317184Z INFO screenpipe: shutdown complete\nggml_metal_free: deallocating\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.349\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-27T09:41:47.730996Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-27T09:41:48.556778Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-27T09:41:48.558315Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-27T09:41:48.558724Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-27T09:41:48.580959Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-27T09:41:48.581058Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-27T09:41:48.989176Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-27T09:41:48.989233Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-27T09:41:48.989162Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-27T09:41:48.989198Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-27T09:41:48.989373Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-27T09:41:48.995792Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-27T09:41:48.996025Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-27T09:41:48.996235Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-27T09:41:48.996716Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-27T09:41:48.996800Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-27T09:41:48.996945Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-27T09:41:48.996965Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n2026-05-27T09:41:48.998013Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-27T09:41:48.998849Z INFO screenpipe: starting UI event capture\n2026-05-27T09:41:49.005581Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-27T09:41:49.007568Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-27T09:41:49.034460Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-27T09:41:49.034839Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:41:49.034856Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:41:49.035064Z INFO screenpipe_engine::ui_recorder: UI recording session started: 381ef504-7990-4cff-a16f-84cb865cbf39\n2026-05-27T09:41:49.035080Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-27T09:41:49.035136Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-26 06:41:49.035135 UTC to 2026-05-27 06:41:49.035135 UTC)\n2026-05-27T09:41:49.041123Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-27T09:41:49.044701Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-27T09:41:49.064043Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-27T09:41:49.629950Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-27T09:41:49.629997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-27T09:41:49.630032Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-27T09:41:49.862246Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-27T09:41:49.862278Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-27T09:41:49.862289Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-27T09:41:49.862296Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-27T09:41:49.862329Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-27T09:41:50.263760Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=2254 elapsed=1.227906875s\n2026-05-27T09:41:50.271042Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 2254 frame entries, coverage from 2026-05-26 06:41:49.035135 UTC\n2026-05-27T09:41:50.531848Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)","depth":4,"on_screen":true,"value":"whisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T20:57:06.482966Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T20:57:06.510108Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0\n2026-05-26T20:57:06.675632Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:06.766183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:09.450394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0\n2026-05-26T20:57:09.631125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:09.709630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:10.307540Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0\n2026-05-26T20:57:10.464664Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:10.757065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:10.995454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=341 row_id=74424 frame_id=73318\n2026-05-26T20:57:11.137675Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:11.885248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:13.242335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=342 row_id=74425 frame_id=73319\n2026-05-26T20:57:13.385120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:13.491028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:14.490650Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73319 paired=1 still_pending=0\n2026-05-26T20:57:18.592141Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=19 total_pairs=337 total_evicted=258 total_failed=0\n2026-05-26T20:57:18.592298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:18.754901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:18.830661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:21.877945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:22.048120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:22.116039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:24.810794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:24.968976Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:25.049467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:29.493586Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:29.647475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:29.737346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:32.776771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:32.933211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:33.009496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:36.510207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:36.636669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:36.749040Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:39.944213Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=22 total_pairs=343 total_evicted=261 total_failed=0\n2026-05-26T20:57:39.944379Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73321 paired=1 still_pending=0\n2026-05-26T20:57:40.108358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:40.183711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:45.427437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:50.944981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:57:50.951811Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=22 total_pairs=346 total_evicted=263 total_failed=0\n2026-05-26T20:57:51.107181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:55.145114Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=21 total_pairs=346 total_evicted=265 total_failed=0\n2026-05-26T20:57:55.145256Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:57:55.299321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:55.380970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:58.978167Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=347 total_evicted=267 total_failed=0\n2026-05-26T20:57:58.978269Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:57:59.119328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:59.219465Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:00.811564Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:58:05.196203Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:58:05.196853Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=18 total_pairs=349 total_evicted=271 total_failed=0\n2026-05-26T20:58:05.348269Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:05.464986Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:07.300460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0\n2026-05-26T20:58:07.456156Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:07.560813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:13.565652Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=14 total_pairs=350 total_evicted=276 total_failed=0\n2026-05-26T20:58:13.566813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0\n2026-05-26T20:58:13.730197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:13.808563Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:14.657567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:58:14.850266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:14.934691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:16.395370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:58:16.547089Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:21.764007Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=15 total_pairs=353 total_evicted=278 total_failed=0\n2026-05-26T20:58:21.764159Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0\n2026-05-26T20:58:22.025572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:23.157872Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=15 total_pairs=354 total_evicted=279 total_failed=0\n2026-05-26T20:58:23.158034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73326 paired=1 still_pending=0\n2026-05-26T20:58:24.054463Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0\n2026-05-26T20:58:24.197345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:24.495730Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:25.946911Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=363 row_id=74446 frame_id=73327\n2026-05-26T20:58:26.099197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:58:26.196847Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:58:27.112178Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0\n2026-05-26T20:58:27.268498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:27.346395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:27.732828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73328 paired=1 still_pending=0\n2026-05-26T20:58:27.736179Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=18 total_pairs=359 total_evicted=280 total_failed=0\n2026-05-26T20:58:27.871903Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:28.528695Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=366 row_id=74449 frame_id=73328\n2026-05-26T20:58:30.094037Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:58:33.030009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73331 paired=1 still_pending=0\n2026-05-26T20:58:33.032199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=18 total_pairs=361 total_evicted=282 total_failed=0\n2026-05-26T20:58:33.140630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=click)\n2026-05-26T20:58:34.534745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=visual_change)\n2026-05-26T20:58:41.146819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=368 row_id=74451 frame_id=73331\n2026-05-26T20:58:41.149210Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=17 total_pairs=362 total_evicted=284 total_failed=0\n2026-05-26T20:58:42.314171Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73334 paired=1 still_pending=0\n2026-05-26T20:58:45.691991Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=17 total_pairs=363 total_evicted=285 total_failed=0\n2026-05-26T20:58:45.692114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73336 paired=1 still_pending=0\n2026-05-26T20:58:48.161231Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73338 paired=1 still_pending=0\n2026-05-26T20:58:48.883060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73340 paired=1 still_pending=0\n2026-05-26T20:58:50.432265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=373 row_id=74456 frame_id=73342\n2026-05-26T20:58:50.569018Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:50.700666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:52.378322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73343 paired=1 still_pending=0\n2026-05-26T20:58:52.451857Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=21 total_pairs=368 total_evicted=286 total_failed=0\n2026-05-26T20:58:53.707852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73345 paired=1 still_pending=0\n2026-05-26T20:58:55.883582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0\n2026-05-26T20:58:56.137549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:57.531116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0\n2026-05-26T20:58:57.538791Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=22 total_pairs=371 total_evicted=287 total_failed=0\n2026-05-26T20:58:58.398500Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73351 paired=1 still_pending=0\n2026-05-26T20:59:01.312473Z INFO screenpipe_db::db: created new speaker id=69 (no existing match within threshold)\n2026-05-26T20:59:01.762272Z INFO screenpipe_db::db: created new speaker id=70 (no existing match within threshold)\n2026-05-26T20:59:04.480758Z INFO screenpipe_db::db: created new speaker id=71 (no existing match within threshold)\n2026-05-26T20:59:05.815472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=372 total_evicted=289 total_failed=0\n2026-05-26T20:59:05.815560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=74462 frame_id=73353\n2026-05-26T20:59:06.010204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0\n2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0\n2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0\n2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0\n2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0\n2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0\n2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0\n2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0\n2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0\n2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0\n2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0\n2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0\n2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369\n2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)\n2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371\n2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)\n2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372\n2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0\n2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0\n2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0\n2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0\n2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0\n2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)\n2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)\n2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0\n2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0\n2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0\n2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0\n2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0\n2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0\n2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)\n2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0\n2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0\n2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0\n2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0\n2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0\n2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2\n2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0\n2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0\n2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0\n2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0\n2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0\n2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0\n2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0\n2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)\n2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0\n2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)\n2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0\n2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0\n2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0\n2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0\n2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0\n2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0\n2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0\n2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416\n2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0\n2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0\n2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0\n2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames\n2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424\n2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0\n2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428\n2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0\n2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted\n2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0\n2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0\n2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436\n2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0\n2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)\n2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436\n2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0\n2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 11.9MB → 3.1MB (3.8x), 92 JPEGs deleted\n2026-05-26T21:01:39.098787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73440 paired=1 still_pending=0\n2026-05-26T21:01:39.816943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73442 paired=1 still_pending=0\n2026-05-26T21:01:41.385329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=434 row_id=74525 frame_id=73444\n2026-05-26T21:01:42.354871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73446 paired=1 still_pending=0\n2026-05-26T21:01:45.574125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73448 paired=1 still_pending=0\n2026-05-26T21:01:46.034928Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73450 paired=1 still_pending=0\n2026-05-26T21:01:46.817376Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=438 row_id=74529 frame_id=73452\n2026-05-26T21:01:48.501614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73454 paired=2 still_pending=0\n2026-05-26T21:01:48.978787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=441 row_id=74532 frame_id=73456\n2026-05-26T21:01:50.300896Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73458 paired=1 still_pending=0\n2026-05-26T21:01:53.267672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73459 paired=1 still_pending=0\n2026-05-26T21:01:54.767924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73460 paired=1 still_pending=0\n2026-05-26T21:01:56.067956Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73462 paired=1 still_pending=0\n2026-05-26T21:01:56.889728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73464 paired=1 still_pending=0\n2026-05-26T21:01:58.623225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=447 row_id=74538 frame_id=73466\n2026-05-26T21:01:59.218115Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73468 paired=1 still_pending=0\n2026-05-26T21:02:00.851021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=449 row_id=74540 frame_id=73470\n2026-05-26T21:02:01.998305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73472 paired=1 still_pending=0\n2026-05-26T21:02:04.347288Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=31 total_pairs=441 total_evicted=336 total_failed=0\n2026-05-26T21:02:04.347471Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73474 paired=1 still_pending=0\n2026-05-26T21:02:06.105871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73476 paired=1 still_pending=0\n2026-05-26T21:02:12.109467Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=32 total_pairs=443 total_evicted=337 total_failed=0\n2026-05-26T21:02:12.109773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73478 paired=1 still_pending=0\n2026-05-26T21:02:14.341353Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=454 row_id=74546 frame_id=73480\n2026-05-26T21:02:17.040017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=455 row_id=74548 frame_id=73481\n2026-05-26T21:02:17.044798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=456 row_id=74550 frame_id=73480\n2026-05-26T21:02:26.323751Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=8 pending_events=0 pending_frames=28 total_pairs=447 total_evicted=345 total_failed=0\n2026-05-26T21:02:26.323968Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73483 paired=1 still_pending=0\n2026-05-26T21:02:29.672094Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:02:35.040585Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=1 pending_frames=22 total_pairs=448 total_evicted=352 total_failed=0\n2026-05-26T21:02:35.040671Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73487 paired=1 still_pending=0\n2026-05-26T21:02:36.829794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73489 paired=2 still_pending=0\n2026-05-26T21:02:39.266195Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=23 total_pairs=451 total_evicted=353 total_failed=0\n2026-05-26T21:02:39.266348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73492 paired=1 still_pending=0\n2026-05-26T21:02:40.641223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73493 paired=1 still_pending=0\n2026-05-26T21:02:41.341466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73495 paired=1 still_pending=0\n2026-05-26T21:02:42.388106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=464 row_id=74558 frame_id=73497\n2026-05-26T21:02:42.449887Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=23 total_pairs=455 total_evicted=356 total_failed=0\n2026-05-26T21:02:43.857876Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=465 row_id=74559 frame_id=73499\n2026-05-26T21:02:43.859454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73500 paired=1 still_pending=1\n2026-05-26T21:02:47.265914Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73502 paired=1 still_pending=0\n2026-05-26T21:02:48.361779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=23 total_pairs=458 total_evicted=359 total_failed=0\n2026-05-26T21:02:48.361882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73504 paired=1 still_pending=0\n2026-05-26T21:02:49.288504Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73506 paired=1 still_pending=0\n2026-05-26T21:02:51.020096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73508 paired=1 still_pending=0\n2026-05-26T21:02:52.288712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73510 paired=1 still_pending=0\n2026-05-26T21:02:52.778480Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=462 total_evicted=361 total_failed=0\n2026-05-26T21:02:52.778535Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73512 paired=1 still_pending=0\n2026-05-26T21:02:54.840774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73514 paired=2 still_pending=0\n2026-05-26T21:02:55.666536Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73516 paired=1 still_pending=0\n2026-05-26T21:02:56.821152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=476 row_id=74570 frame_id=73518\n2026-05-26T21:03:00.216356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73520 paired=1 still_pending=0\n2026-05-26T21:03:00.217676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=25 total_pairs=468 total_evicted=366 total_failed=0\n2026-05-26T21:03:03.895290Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=468 total_evicted=368 total_failed=0\n2026-05-26T21:03:03.895422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73522 paired=1 still_pending=0\n2026-05-26T21:03:07.106232Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73524 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:03:08.960210Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 6 orphaned chunks\n2026-05-26T21:03:08.961568Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=470 total_evicted=370 total_failed=0\n2026-05-26T21:03:08.961611Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73526 paired=1 still_pending=0\n2026-05-26T21:03:10.793001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73528 paired=1 still_pending=0\n2026-05-26T21:03:12.906147Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=24 total_pairs=472 total_evicted=371 total_failed=0\n2026-05-26T21:03:12.906273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73530 paired=1 still_pending=0\n2026-05-26T21:03:15.230969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73532 paired=1 still_pending=0\n2026-05-26T21:03:16.055774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73534 paired=1 still_pending=0\n2026-05-26T21:03:18.146639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=485 row_id=74579 frame_id=73536\n2026-05-26T21:03:18.152425Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=476 total_evicted=373 total_failed=0\n2026-05-26T21:03:20.509544Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=486 row_id=74581 frame_id=73538\n2026-05-26T21:03:22.786519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73540 paired=1 still_pending=0\n2026-05-26T21:03:24.377722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=488 row_id=74584 frame_id=73541\n2026-05-26T21:03:27.448734Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=28 total_pairs=479 total_evicted=374 total_failed=0\n2026-05-26T21:03:32.066738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=489 row_id=74588 frame_id=73544\n2026-05-26T21:03:33.180323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=490 row_id=74590 frame_id=73546\n2026-05-26T21:03:36.061033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73546 paired=1 still_pending=0\n2026-05-26T21:03:41.904100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73547 paired=1 still_pending=0\n2026-05-26T21:03:41.905403Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=26 total_pairs=483 total_evicted=378 total_failed=0\n2026-05-26T21:04:00.181150Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:04:13.113524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73550 paired=1 still_pending=0\n2026-05-26T21:04:13.116810Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=18 pending_events=0 pending_frames=10 total_pairs=484 total_evicted=396 total_failed=0\n2026-05-26T21:04:20.198770Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=7 total_pairs=484 total_evicted=399 total_failed=0\n2026-05-26T21:04:20.199028Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73555 paired=1 still_pending=0\n2026-05-26T21:04:20.360514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643362899810751552, trigger=click)\n2026-05-26T21:04:31.815187Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=5 total_pairs=485 total_evicted=402 total_failed=0\n2026-05-26T21:04:31.815348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73556 paired=1 still_pending=0\n2026-05-26T21:04:35.047362Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=4 total_pairs=486 total_evicted=404 total_failed=0\n2026-05-26T21:04:35.047526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73560 paired=1 still_pending=0\n2026-05-26T21:04:35.190069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3396646416531305755, trigger=click)\n2026-05-26T21:04:35.881837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73561 paired=1 still_pending=0\n2026-05-26T21:04:39.664639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=498 row_id=74599 frame_id=73564\n2026-05-26T21:04:40.914816Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73567 paired=1 still_pending=0\n2026-05-26T21:04:42.198029Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73569 paired=1 still_pending=0\n2026-05-26T21:04:42.342866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3577559571019619452, trigger=click)\n2026-05-26T21:04:45.614868Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=491 total_evicted=405 total_failed=0\n2026-05-26T21:04:45.615182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73570 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:05:09.718659Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 7 orphaned chunks\n2026-05-26T21:05:15.332544Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=492 total_evicted=406 total_failed=0\n2026-05-26T21:05:15.332747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73573 paired=1 still_pending=0\n2026-05-26T21:05:15.340779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73574 paired=1 still_pending=1\n2026-05-26T21:05:20.507053Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=8 total_pairs=494 total_evicted=407 total_failed=0\n2026-05-26T21:05:20.507489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73577 paired=1 still_pending=0\n2026-05-26T21:05:20.870902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73579 paired=1 still_pending=0\n2026-05-26T21:05:24.171609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6428445175211390380, trigger=visual_change)\n^C2026-05-26T21:05:25.159446Z INFO screenpipe: received ctrl+c, initiating shutdown\n2026-05-26T21:05:25.160130Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-26T21:05:25.160329Z INFO screenpipe_audio::device::device_manager: Stopping device: System Audio (output)\n2026-05-26T21:05:25.187809Z INFO screenpipe_audio::audio_manager::manager: audio manager stopped\n2026-05-26T21:05:25.187869Z INFO screenpipe: stopping UI event capture\n2026-05-26T21:05:25.187920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker shutting down\n2026-05-26T21:05:25.187943Z INFO screenpipe_engine::meeting_detector: meeting v2: shutdown received, exiting detection loop\n2026-05-26T21:05:25.188071Z INFO screenpipe: received shutdown signal for VisionManager\n2026-05-26T21:05:25.188239Z INFO screenpipe_engine::vision_manager::manager: Shutting down VisionManager\n2026-05-26T21:05:25.188247Z INFO screenpipe_engine::vision_manager::manager: Stopping VisionManager\n2026-05-26T21:05:25.188371Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-05-26T21:05:25.189841Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-05-26T21:05:25.204118Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-05-26T21:05:25.314845Z INFO screenpipe_engine::ui_recorder: UI recording session ended: e77d1c43-6f9b-4fee-83e7-1833090386ff\n2026-05-26T21:05:25.317184Z INFO screenpipe: shutdown complete\nggml_metal_free: deallocating\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.349\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-27T09:41:47.730996Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-27T09:41:48.556778Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-27T09:41:48.558315Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-27T09:41:48.558724Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-27T09:41:48.580959Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-27T09:41:48.581058Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-27T09:41:48.989176Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-27T09:41:48.989233Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-27T09:41:48.989162Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-27T09:41:48.989198Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-27T09:41:48.989373Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-27T09:41:48.995792Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-27T09:41:48.996025Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-27T09:41:48.996235Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-27T09:41:48.996716Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-27T09:41:48.996800Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-27T09:41:48.996945Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-27T09:41:48.996965Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n2026-05-27T09:41:48.998013Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-27T09:41:48.998849Z INFO screenpipe: starting UI event capture\n2026-05-27T09:41:49.005581Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-27T09:41:49.007568Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-27T09:41:49.034460Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-27T09:41:49.034839Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:41:49.034856Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:41:49.035064Z INFO screenpipe_engine::ui_recorder: UI recording session started: 381ef504-7990-4cff-a16f-84cb865cbf39\n2026-05-27T09:41:49.035080Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-27T09:41:49.035136Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-26 06:41:49.035135 UTC to 2026-05-27 06:41:49.035135 UTC)\n2026-05-27T09:41:49.041123Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-27T09:41:49.044701Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-27T09:41:49.064043Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-27T09:41:49.629950Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-27T09:41:49.629997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-27T09:41:49.630032Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-27T09:41:49.862246Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-27T09:41:49.862278Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-27T09:41:49.862289Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-27T09:41:49.862296Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-27T09:41:49.862329Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-27T09:41:50.263760Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=2254 elapsed=1.227906875s\n2026-05-27T09:41:50.271042Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 2254 frame entries, coverage from 2026-05-26 06:41:49.035135 UTC\n2026-05-27T09:41:50.531848Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.196875,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (docker)","depth":2,"bounds":{"left":0.196875,"top":0.05888889,"width":0.196875,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.20104167,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.39375,"top":0.05888889,"width":0.19652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.39791667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5902778,"top":0.05888889,"width":0.19652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.59444445,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.78680557,"top":0.05888889,"width":0.19652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.79097223,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.47083333,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-5889733924605444402
|
2643140222346294721
|
manual
|
accessibility
|
NULL
|
whisper_init_state: kv pad size = 2.36 MB
whi whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:57:06.482966Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:57:06.510108Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:06.675632Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:06.766183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:09.450394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:09.631125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:09.709630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.307540Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:10.464664Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.757065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.995454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=341 row_id=74424 frame_id=73318
2026-05-26T20:57:11.137675Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:11.885248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:13.242335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=342 row_id=74425 frame_id=73319
2026-05-26T20:57:13.385120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:13.491028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:14.490650Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73319 paired=1 still_pending=0
2026-05-26T20:57:18.592141Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=19 total_pairs=337 total_evicted=258 total_failed=0
2026-05-26T20:57:18.592298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:18.754901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:18.830661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:21.877945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:22.048120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:22.116039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:24.810794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:24.968976Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:25.049467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:29.493586Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:29.647475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:29.737346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:32.776771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:32.933211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:33.009496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:36.510207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:36.636669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:36.749040Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:39.944213Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=22 total_pairs=343 total_evicted=261 total_failed=0
2026-05-26T20:57:39.944379Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73321 paired=1 still_pending=0
2026-05-26T20:57:40.108358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:40.183711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:45.427437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:50.944981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:50.951811Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=22 total_pairs=346 total_evicted=263 total_failed=0
2026-05-26T20:57:51.107181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:55.145114Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=21 total_pairs=346 total_evicted=265 total_failed=0
2026-05-26T20:57:55.145256Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:55.299321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:55.380970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:58.978167Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=347 total_evicted=267 total_failed=0
2026-05-26T20:57:58.978269Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:59.119328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:59.219465Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:00.811564Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:58:05.196203Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:05.196853Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=18 total_pairs=349 total_evicted=271 total_failed=0
2026-05-26T20:58:05.348269Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:05.464986Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:07.300460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:07.456156Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:07.560813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:13.565652Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=14 total_pairs=350 total_evicted=276 total_failed=0
2026-05-26T20:58:13.566813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:13.730197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:13.808563Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:14.657567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:14.850266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:14.934691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:16.395370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:16.547089Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:21.764007Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=15 total_pairs=353 total_evicted=278 total_failed=0
2026-05-26T20:58:21.764159Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:22.025572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:23.157872Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=15 total_pairs=354 total_evicted=279 total_failed=0
2026-05-26T20:58:23.158034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73326 paired=1 still_pending=0
2026-05-26T20:58:24.054463Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0
2026-05-26T20:58:24.197345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:24.495730Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:25.946911Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=363 row_id=74446 frame_id=73327
2026-05-26T20:58:26.099197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:58:26.196847Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:58:27.112178Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0
2026-05-26T20:58:27.268498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:27.346395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:27.732828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73328 paired=1 still_pending=0
2026-05-26T20:58:27.736179Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=18 total_pairs=359 total_evicted=280 total_failed=0
2026-05-26T20:58:27.871903Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:28.528695Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=366 row_id=74449 frame_id=73328
2026-05-26T20:58:30.094037Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:58:33.030009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73331 paired=1 still_pending=0
2026-05-26T20:58:33.032199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=18 total_pairs=361 total_evicted=282 total_failed=0
2026-05-26T20:58:33.140630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=click)
2026-05-26T20:58:34.534745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=visual_change)
2026-05-26T20:58:41.146819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=368 row_id=74451 frame_id=73331
2026-05-26T20:58:41.149210Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=17 total_pairs=362 total_evicted=284 total_failed=0
2026-05-26T20:58:42.314171Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73334 paired=1 still_pending=0
2026-05-26T20:58:45.691991Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=17 total_pairs=363 total_evicted=285 total_failed=0
2026-05-26T20:58:45.692114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73336 paired=1 still_pending=0
2026-05-26T20:58:48.161231Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73338 paired=1 still_pending=0
2026-05-26T20:58:48.883060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73340 paired=1 still_pending=0
2026-05-26T20:58:50.432265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=373 row_id=74456 frame_id=73342
2026-05-26T20:58:50.569018Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:50.700666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:52.378322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73343 paired=1 still_pending=0
2026-05-26T20:58:52.451857Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=21 total_pairs=368 total_evicted=286 total_failed=0
2026-05-26T20:58:53.707852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73345 paired=1 still_pending=0
2026-05-26T20:58:55.883582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0
2026-05-26T20:58:56.137549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:57.531116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0
2026-05-26T20:58:57.538791Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=22 total_pairs=371 total_evicted=287 total_failed=0
2026-05-26T20:58:58.398500Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73351 paired=1 still_pending=0
2026-05-26T20:59:01.312473Z INFO screenpipe_db::db: created new speaker id=69 (no existing match within threshold)
2026-05-26T20:59:01.762272Z INFO screenpipe_db::db: created new speaker id=70 (no existing match within threshold)
2026-05-26T20:59:04.480758Z INFO screenpipe_db::db: created new speaker id=71 (no existing match within threshold)
2026-05-26T20:59:05.815472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=372 total_evicted=289 total_failed=0
2026-05-26T20:59:05.815560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=74462 frame_id=73353
2026-05-26T20:59:06.010204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0
2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0
2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0
2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0
2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0
2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0
2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0
2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0
2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0
2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0
2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0
2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0
2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369
2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)
2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371
2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)
2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372
2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0
2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0
2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0
2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0
2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0
2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)
2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)
2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0
2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0
2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0
2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0
2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0
2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0
2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)
2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0
2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0
2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0
2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0
2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0
2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2
2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0
2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0
2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0
2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0
2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0
2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0
2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0
2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)
2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0
2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)
2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0
2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0
2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0
2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0
2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0
2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0
2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0
2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416
2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0
2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0
2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0
2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames
2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424
2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0
2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428
2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0
2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted
2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0
2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0
2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436
2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0
2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)
2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436
2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0
2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapsho...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
73583
|
2629
|
0
|
2026-05-27T06:41:50.364502+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-27/1779 /Users/lukas/.screenpipe/data/data/2026-05-27/1779864110364_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_init_state: compute buffer (encode) = 65 whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:57:06.482966Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:57:06.510108Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:06.675632Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:06.766183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:09.450394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:09.631125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:09.709630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.307540Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:10.464664Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.757065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.995454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=341 row_id=74424 frame_id=73318
2026-05-26T20:57:11.137675Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:11.885248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:13.242335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=342 row_id=74425 frame_id=73319
2026-05-26T20:57:13.385120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:13.491028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:14.490650Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73319 paired=1 still_pending=0
2026-05-26T20:57:18.592141Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=19 total_pairs=337 total_evicted=258 total_failed=0
2026-05-26T20:57:18.592298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:18.754901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:18.830661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:21.877945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:22.048120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:22.116039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:24.810794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:24.968976Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:25.049467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:29.493586Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:29.647475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:29.737346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:32.776771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:32.933211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:33.009496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:36.510207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:36.636669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:36.749040Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:39.944213Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=22 total_pairs=343 total_evicted=261 total_failed=0
2026-05-26T20:57:39.944379Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73321 paired=1 still_pending=0
2026-05-26T20:57:40.108358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:40.183711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:45.427437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:50.944981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:50.951811Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=22 total_pairs=346 total_evicted=263 total_failed=0
2026-05-26T20:57:51.107181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:55.145114Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=21 total_pairs=346 total_evicted=265 total_failed=0
2026-05-26T20:57:55.145256Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:55.299321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:55.380970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:58.978167Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=347 total_evicted=267 total_failed=0
2026-05-26T20:57:58.978269Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:59.119328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:59.219465Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:00.811564Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:58:05.196203Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:05.196853Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=18 total_pairs=349 total_evicted=271 total_failed=0
2026-05-26T20:58:05.348269Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:05.464986Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:07.300460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:07.456156Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:07.560813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:13.565652Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=14 total_pairs=350 total_evicted=276 total_failed=0
2026-05-26T20:58:13.566813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:13.730197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:13.808563Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:14.657567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:14.850266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:14.934691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:16.395370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:16.547089Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:21.764007Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=15 total_pairs=353 total_evicted=278 total_failed=0
2026-05-26T20:58:21.764159Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:22.025572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:23.157872Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=15 total_pairs=354 total_evicted=279 total_failed=0
2026-05-26T20:58:23.158034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73326 paired=1 still_pending=0
2026-05-26T20:58:24.054463Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0
2026-05-26T20:58:24.197345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:24.495730Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:25.946911Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=363 row_id=74446 frame_id=73327
2026-05-26T20:58:26.099197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:58:26.196847Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:58:27.112178Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0
2026-05-26T20:58:27.268498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:27.346395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:27.732828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73328 paired=1 still_pending=0
2026-05-26T20:58:27.736179Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=18 total_pairs=359 total_evicted=280 total_failed=0
2026-05-26T20:58:27.871903Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:28.528695Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=366 row_id=74449 frame_id=73328
2026-05-26T20:58:30.094037Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:58:33.030009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73331 paired=1 still_pending=0
2026-05-26T20:58:33.032199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=18 total_pairs=361 total_evicted=282 total_failed=0
2026-05-26T20:58:33.140630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=click)
2026-05-26T20:58:34.534745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=visual_change)
2026-05-26T20:58:41.146819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=368 row_id=74451 frame_id=73331
2026-05-26T20:58:41.149210Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=17 total_pairs=362 total_evicted=284 total_failed=0
2026-05-26T20:58:42.314171Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73334 paired=1 still_pending=0
2026-05-26T20:58:45.691991Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=17 total_pairs=363 total_evicted=285 total_failed=0
2026-05-26T20:58:45.692114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73336 paired=1 still_pending=0
2026-05-26T20:58:48.161231Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73338 paired=1 still_pending=0
2026-05-26T20:58:48.883060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73340 paired=1 still_pending=0
2026-05-26T20:58:50.432265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=373 row_id=74456 frame_id=73342
2026-05-26T20:58:50.569018Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:50.700666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:52.378322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73343 paired=1 still_pending=0
2026-05-26T20:58:52.451857Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=21 total_pairs=368 total_evicted=286 total_failed=0
2026-05-26T20:58:53.707852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73345 paired=1 still_pending=0
2026-05-26T20:58:55.883582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0
2026-05-26T20:58:56.137549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:57.531116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0
2026-05-26T20:58:57.538791Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=22 total_pairs=371 total_evicted=287 total_failed=0
2026-05-26T20:58:58.398500Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73351 paired=1 still_pending=0
2026-05-26T20:59:01.312473Z INFO screenpipe_db::db: created new speaker id=69 (no existing match within threshold)
2026-05-26T20:59:01.762272Z INFO screenpipe_db::db: created new speaker id=70 (no existing match within threshold)
2026-05-26T20:59:04.480758Z INFO screenpipe_db::db: created new speaker id=71 (no existing match within threshold)
2026-05-26T20:59:05.815472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=372 total_evicted=289 total_failed=0
2026-05-26T20:59:05.815560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=74462 frame_id=73353
2026-05-26T20:59:06.010204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0
2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0
2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0
2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0
2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0
2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0
2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0
2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0
2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0
2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0
2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0
2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0
2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369
2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)
2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371
2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)
2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372
2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0
2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0
2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0
2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0
2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0
2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)
2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)
2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0
2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0
2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0
2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0
2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0
2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0
2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)
2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0
2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0
2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0
2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0
2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0
2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2
2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0
2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0
2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0
2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0
2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0
2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0
2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0
2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)
2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0
2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)
2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0
2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0
2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0
2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0
2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0
2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0
2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0
2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416
2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0
2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0
2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0
2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames
2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424
2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0
2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428
2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0
2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted
2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0
2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0
2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436
2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0
2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)
2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436
2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0
2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 11.9MB → 3.1MB (3.8x), 92 JPEGs deleted
2026-05-26T21:01...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T20:57:06.482966Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T20:57:06.510108Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0\n2026-05-26T20:57:06.675632Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:06.766183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:09.450394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0\n2026-05-26T20:57:09.631125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:09.709630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:10.307540Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0\n2026-05-26T20:57:10.464664Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:10.757065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:10.995454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=341 row_id=74424 frame_id=73318\n2026-05-26T20:57:11.137675Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:11.885248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:13.242335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=342 row_id=74425 frame_id=73319\n2026-05-26T20:57:13.385120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:13.491028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:14.490650Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73319 paired=1 still_pending=0\n2026-05-26T20:57:18.592141Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=19 total_pairs=337 total_evicted=258 total_failed=0\n2026-05-26T20:57:18.592298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:18.754901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:18.830661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:21.877945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:22.048120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:22.116039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:24.810794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:24.968976Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:25.049467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:29.493586Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:29.647475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:29.737346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:32.776771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:32.933211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:33.009496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:36.510207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:36.636669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:36.749040Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:39.944213Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=22 total_pairs=343 total_evicted=261 total_failed=0\n2026-05-26T20:57:39.944379Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73321 paired=1 still_pending=0\n2026-05-26T20:57:40.108358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:40.183711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:45.427437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:50.944981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:57:50.951811Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=22 total_pairs=346 total_evicted=263 total_failed=0\n2026-05-26T20:57:51.107181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:55.145114Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=21 total_pairs=346 total_evicted=265 total_failed=0\n2026-05-26T20:57:55.145256Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:57:55.299321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:55.380970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:58.978167Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=347 total_evicted=267 total_failed=0\n2026-05-26T20:57:58.978269Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:57:59.119328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:59.219465Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:00.811564Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:58:05.196203Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:58:05.196853Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=18 total_pairs=349 total_evicted=271 total_failed=0\n2026-05-26T20:58:05.348269Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:05.464986Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:07.300460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0\n2026-05-26T20:58:07.456156Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:07.560813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:13.565652Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=14 total_pairs=350 total_evicted=276 total_failed=0\n2026-05-26T20:58:13.566813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0\n2026-05-26T20:58:13.730197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:13.808563Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:14.657567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:58:14.850266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:14.934691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:16.395370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:58:16.547089Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:21.764007Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=15 total_pairs=353 total_evicted=278 total_failed=0\n2026-05-26T20:58:21.764159Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0\n2026-05-26T20:58:22.025572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:23.157872Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=15 total_pairs=354 total_evicted=279 total_failed=0\n2026-05-26T20:58:23.158034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73326 paired=1 still_pending=0\n2026-05-26T20:58:24.054463Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0\n2026-05-26T20:58:24.197345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:24.495730Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:25.946911Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=363 row_id=74446 frame_id=73327\n2026-05-26T20:58:26.099197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:58:26.196847Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:58:27.112178Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0\n2026-05-26T20:58:27.268498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:27.346395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:27.732828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73328 paired=1 still_pending=0\n2026-05-26T20:58:27.736179Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=18 total_pairs=359 total_evicted=280 total_failed=0\n2026-05-26T20:58:27.871903Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:28.528695Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=366 row_id=74449 frame_id=73328\n2026-05-26T20:58:30.094037Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:58:33.030009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73331 paired=1 still_pending=0\n2026-05-26T20:58:33.032199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=18 total_pairs=361 total_evicted=282 total_failed=0\n2026-05-26T20:58:33.140630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=click)\n2026-05-26T20:58:34.534745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=visual_change)\n2026-05-26T20:58:41.146819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=368 row_id=74451 frame_id=73331\n2026-05-26T20:58:41.149210Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=17 total_pairs=362 total_evicted=284 total_failed=0\n2026-05-26T20:58:42.314171Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73334 paired=1 still_pending=0\n2026-05-26T20:58:45.691991Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=17 total_pairs=363 total_evicted=285 total_failed=0\n2026-05-26T20:58:45.692114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73336 paired=1 still_pending=0\n2026-05-26T20:58:48.161231Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73338 paired=1 still_pending=0\n2026-05-26T20:58:48.883060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73340 paired=1 still_pending=0\n2026-05-26T20:58:50.432265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=373 row_id=74456 frame_id=73342\n2026-05-26T20:58:50.569018Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:50.700666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:52.378322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73343 paired=1 still_pending=0\n2026-05-26T20:58:52.451857Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=21 total_pairs=368 total_evicted=286 total_failed=0\n2026-05-26T20:58:53.707852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73345 paired=1 still_pending=0\n2026-05-26T20:58:55.883582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0\n2026-05-26T20:58:56.137549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:57.531116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0\n2026-05-26T20:58:57.538791Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=22 total_pairs=371 total_evicted=287 total_failed=0\n2026-05-26T20:58:58.398500Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73351 paired=1 still_pending=0\n2026-05-26T20:59:01.312473Z INFO screenpipe_db::db: created new speaker id=69 (no existing match within threshold)\n2026-05-26T20:59:01.762272Z INFO screenpipe_db::db: created new speaker id=70 (no existing match within threshold)\n2026-05-26T20:59:04.480758Z INFO screenpipe_db::db: created new speaker id=71 (no existing match within threshold)\n2026-05-26T20:59:05.815472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=372 total_evicted=289 total_failed=0\n2026-05-26T20:59:05.815560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=74462 frame_id=73353\n2026-05-26T20:59:06.010204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0\n2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0\n2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0\n2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0\n2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0\n2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0\n2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0\n2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0\n2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0\n2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0\n2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0\n2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0\n2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369\n2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)\n2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371\n2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)\n2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372\n2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0\n2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0\n2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0\n2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0\n2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0\n2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)\n2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)\n2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0\n2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0\n2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0\n2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0\n2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0\n2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0\n2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)\n2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0\n2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0\n2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0\n2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0\n2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0\n2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2\n2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0\n2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0\n2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0\n2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0\n2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0\n2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0\n2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0\n2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)\n2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0\n2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)\n2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0\n2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0\n2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0\n2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0\n2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0\n2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0\n2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0\n2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416\n2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0\n2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0\n2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0\n2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames\n2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424\n2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0\n2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428\n2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0\n2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted\n2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0\n2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0\n2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436\n2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0\n2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)\n2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436\n2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0\n2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 11.9MB → 3.1MB (3.8x), 92 JPEGs deleted\n2026-05-26T21:01:39.098787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73440 paired=1 still_pending=0\n2026-05-26T21:01:39.816943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73442 paired=1 still_pending=0\n2026-05-26T21:01:41.385329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=434 row_id=74525 frame_id=73444\n2026-05-26T21:01:42.354871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73446 paired=1 still_pending=0\n2026-05-26T21:01:45.574125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73448 paired=1 still_pending=0\n2026-05-26T21:01:46.034928Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73450 paired=1 still_pending=0\n2026-05-26T21:01:46.817376Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=438 row_id=74529 frame_id=73452\n2026-05-26T21:01:48.501614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73454 paired=2 still_pending=0\n2026-05-26T21:01:48.978787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=441 row_id=74532 frame_id=73456\n2026-05-26T21:01:50.300896Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73458 paired=1 still_pending=0\n2026-05-26T21:01:53.267672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73459 paired=1 still_pending=0\n2026-05-26T21:01:54.767924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73460 paired=1 still_pending=0\n2026-05-26T21:01:56.067956Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73462 paired=1 still_pending=0\n2026-05-26T21:01:56.889728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73464 paired=1 still_pending=0\n2026-05-26T21:01:58.623225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=447 row_id=74538 frame_id=73466\n2026-05-26T21:01:59.218115Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73468 paired=1 still_pending=0\n2026-05-26T21:02:00.851021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=449 row_id=74540 frame_id=73470\n2026-05-26T21:02:01.998305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73472 paired=1 still_pending=0\n2026-05-26T21:02:04.347288Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=31 total_pairs=441 total_evicted=336 total_failed=0\n2026-05-26T21:02:04.347471Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73474 paired=1 still_pending=0\n2026-05-26T21:02:06.105871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73476 paired=1 still_pending=0\n2026-05-26T21:02:12.109467Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=32 total_pairs=443 total_evicted=337 total_failed=0\n2026-05-26T21:02:12.109773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73478 paired=1 still_pending=0\n2026-05-26T21:02:14.341353Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=454 row_id=74546 frame_id=73480\n2026-05-26T21:02:17.040017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=455 row_id=74548 frame_id=73481\n2026-05-26T21:02:17.044798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=456 row_id=74550 frame_id=73480\n2026-05-26T21:02:26.323751Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=8 pending_events=0 pending_frames=28 total_pairs=447 total_evicted=345 total_failed=0\n2026-05-26T21:02:26.323968Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73483 paired=1 still_pending=0\n2026-05-26T21:02:29.672094Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:02:35.040585Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=1 pending_frames=22 total_pairs=448 total_evicted=352 total_failed=0\n2026-05-26T21:02:35.040671Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73487 paired=1 still_pending=0\n2026-05-26T21:02:36.829794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73489 paired=2 still_pending=0\n2026-05-26T21:02:39.266195Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=23 total_pairs=451 total_evicted=353 total_failed=0\n2026-05-26T21:02:39.266348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73492 paired=1 still_pending=0\n2026-05-26T21:02:40.641223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73493 paired=1 still_pending=0\n2026-05-26T21:02:41.341466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73495 paired=1 still_pending=0\n2026-05-26T21:02:42.388106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=464 row_id=74558 frame_id=73497\n2026-05-26T21:02:42.449887Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=23 total_pairs=455 total_evicted=356 total_failed=0\n2026-05-26T21:02:43.857876Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=465 row_id=74559 frame_id=73499\n2026-05-26T21:02:43.859454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73500 paired=1 still_pending=1\n2026-05-26T21:02:47.265914Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73502 paired=1 still_pending=0\n2026-05-26T21:02:48.361779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=23 total_pairs=458 total_evicted=359 total_failed=0\n2026-05-26T21:02:48.361882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73504 paired=1 still_pending=0\n2026-05-26T21:02:49.288504Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73506 paired=1 still_pending=0\n2026-05-26T21:02:51.020096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73508 paired=1 still_pending=0\n2026-05-26T21:02:52.288712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73510 paired=1 still_pending=0\n2026-05-26T21:02:52.778480Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=462 total_evicted=361 total_failed=0\n2026-05-26T21:02:52.778535Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73512 paired=1 still_pending=0\n2026-05-26T21:02:54.840774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73514 paired=2 still_pending=0\n2026-05-26T21:02:55.666536Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73516 paired=1 still_pending=0\n2026-05-26T21:02:56.821152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=476 row_id=74570 frame_id=73518\n2026-05-26T21:03:00.216356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73520 paired=1 still_pending=0\n2026-05-26T21:03:00.217676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=25 total_pairs=468 total_evicted=366 total_failed=0\n2026-05-26T21:03:03.895290Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=468 total_evicted=368 total_failed=0\n2026-05-26T21:03:03.895422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73522 paired=1 still_pending=0\n2026-05-26T21:03:07.106232Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73524 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:03:08.960210Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 6 orphaned chunks\n2026-05-26T21:03:08.961568Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=470 total_evicted=370 total_failed=0\n2026-05-26T21:03:08.961611Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73526 paired=1 still_pending=0\n2026-05-26T21:03:10.793001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73528 paired=1 still_pending=0\n2026-05-26T21:03:12.906147Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=24 total_pairs=472 total_evicted=371 total_failed=0\n2026-05-26T21:03:12.906273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73530 paired=1 still_pending=0\n2026-05-26T21:03:15.230969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73532 paired=1 still_pending=0\n2026-05-26T21:03:16.055774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73534 paired=1 still_pending=0\n2026-05-26T21:03:18.146639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=485 row_id=74579 frame_id=73536\n2026-05-26T21:03:18.152425Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=476 total_evicted=373 total_failed=0\n2026-05-26T21:03:20.509544Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=486 row_id=74581 frame_id=73538\n2026-05-26T21:03:22.786519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73540 paired=1 still_pending=0\n2026-05-26T21:03:24.377722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=488 row_id=74584 frame_id=73541\n2026-05-26T21:03:27.448734Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=28 total_pairs=479 total_evicted=374 total_failed=0\n2026-05-26T21:03:32.066738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=489 row_id=74588 frame_id=73544\n2026-05-26T21:03:33.180323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=490 row_id=74590 frame_id=73546\n2026-05-26T21:03:36.061033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73546 paired=1 still_pending=0\n2026-05-26T21:03:41.904100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73547 paired=1 still_pending=0\n2026-05-26T21:03:41.905403Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=26 total_pairs=483 total_evicted=378 total_failed=0\n2026-05-26T21:04:00.181150Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:04:13.113524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73550 paired=1 still_pending=0\n2026-05-26T21:04:13.116810Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=18 pending_events=0 pending_frames=10 total_pairs=484 total_evicted=396 total_failed=0\n2026-05-26T21:04:20.198770Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=7 total_pairs=484 total_evicted=399 total_failed=0\n2026-05-26T21:04:20.199028Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73555 paired=1 still_pending=0\n2026-05-26T21:04:20.360514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643362899810751552, trigger=click)\n2026-05-26T21:04:31.815187Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=5 total_pairs=485 total_evicted=402 total_failed=0\n2026-05-26T21:04:31.815348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73556 paired=1 still_pending=0\n2026-05-26T21:04:35.047362Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=4 total_pairs=486 total_evicted=404 total_failed=0\n2026-05-26T21:04:35.047526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73560 paired=1 still_pending=0\n2026-05-26T21:04:35.190069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3396646416531305755, trigger=click)\n2026-05-26T21:04:35.881837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73561 paired=1 still_pending=0\n2026-05-26T21:04:39.664639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=498 row_id=74599 frame_id=73564\n2026-05-26T21:04:40.914816Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73567 paired=1 still_pending=0\n2026-05-26T21:04:42.198029Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73569 paired=1 still_pending=0\n2026-05-26T21:04:42.342866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3577559571019619452, trigger=click)\n2026-05-26T21:04:45.614868Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=491 total_evicted=405 total_failed=0\n2026-05-26T21:04:45.615182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73570 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:05:09.718659Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 7 orphaned chunks\n2026-05-26T21:05:15.332544Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=492 total_evicted=406 total_failed=0\n2026-05-26T21:05:15.332747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73573 paired=1 still_pending=0\n2026-05-26T21:05:15.340779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73574 paired=1 still_pending=1\n2026-05-26T21:05:20.507053Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=8 total_pairs=494 total_evicted=407 total_failed=0\n2026-05-26T21:05:20.507489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73577 paired=1 still_pending=0\n2026-05-26T21:05:20.870902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73579 paired=1 still_pending=0\n2026-05-26T21:05:24.171609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6428445175211390380, trigger=visual_change)\n^C2026-05-26T21:05:25.159446Z INFO screenpipe: received ctrl+c, initiating shutdown\n2026-05-26T21:05:25.160130Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-26T21:05:25.160329Z INFO screenpipe_audio::device::device_manager: Stopping device: System Audio (output)\n2026-05-26T21:05:25.187809Z INFO screenpipe_audio::audio_manager::manager: audio manager stopped\n2026-05-26T21:05:25.187869Z INFO screenpipe: stopping UI event capture\n2026-05-26T21:05:25.187920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker shutting down\n2026-05-26T21:05:25.187943Z INFO screenpipe_engine::meeting_detector: meeting v2: shutdown received, exiting detection loop\n2026-05-26T21:05:25.188071Z INFO screenpipe: received shutdown signal for VisionManager\n2026-05-26T21:05:25.188239Z INFO screenpipe_engine::vision_manager::manager: Shutting down VisionManager\n2026-05-26T21:05:25.188247Z INFO screenpipe_engine::vision_manager::manager: Stopping VisionManager\n2026-05-26T21:05:25.188371Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-05-26T21:05:25.189841Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-05-26T21:05:25.204118Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-05-26T21:05:25.314845Z INFO screenpipe_engine::ui_recorder: UI recording session ended: e77d1c43-6f9b-4fee-83e7-1833090386ff\n2026-05-26T21:05:25.317184Z INFO screenpipe: shutdown complete\nggml_metal_free: deallocating\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.349\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-27T09:41:47.730996Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-27T09:41:48.556778Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-27T09:41:48.558315Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-27T09:41:48.558724Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-27T09:41:48.580959Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-27T09:41:48.581058Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-27T09:41:48.989176Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-27T09:41:48.989233Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-27T09:41:48.989162Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-27T09:41:48.989198Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-27T09:41:48.989373Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-27T09:41:48.995792Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-27T09:41:48.996025Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-27T09:41:48.996235Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-27T09:41:48.996716Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-27T09:41:48.996800Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-27T09:41:48.996945Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-27T09:41:48.996965Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n2026-05-27T09:41:48.998013Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-27T09:41:48.998849Z INFO screenpipe: starting UI event capture\n2026-05-27T09:41:49.005581Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-27T09:41:49.007568Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-27T09:41:49.034460Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-27T09:41:49.034839Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:41:49.034856Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:41:49.035064Z INFO screenpipe_engine::ui_recorder: UI recording session started: 381ef504-7990-4cff-a16f-84cb865cbf39\n2026-05-27T09:41:49.035080Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-27T09:41:49.035136Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-26 06:41:49.035135 UTC to 2026-05-27 06:41:49.035135 UTC)\n2026-05-27T09:41:49.041123Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-27T09:41:49.044701Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-27T09:41:49.064043Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-27T09:41:49.629950Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-27T09:41:49.629997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-27T09:41:49.630032Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-27T09:41:49.862246Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-27T09:41:49.862278Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-27T09:41:49.862289Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-27T09:41:49.862296Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-27T09:41:49.862329Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-27T09:41:50.263760Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=2254 elapsed=1.227906875s\n2026-05-27T09:41:50.271042Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 2254 frame entries, coverage from 2026-05-26 06:41:49.035135 UTC\n2026-05-27T09:41:50.531848Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-27T09:41:50.668360Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=73582, dur=78ms\n2026-05-27T09:41:50.802020Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)","depth":4,"on_screen":true,"value":"whisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T20:57:06.482966Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T20:57:06.510108Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0\n2026-05-26T20:57:06.675632Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:06.766183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:09.450394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0\n2026-05-26T20:57:09.631125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:09.709630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:10.307540Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0\n2026-05-26T20:57:10.464664Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:10.757065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:10.995454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=341 row_id=74424 frame_id=73318\n2026-05-26T20:57:11.137675Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:11.885248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:57:13.242335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=342 row_id=74425 frame_id=73319\n2026-05-26T20:57:13.385120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:13.491028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:57:14.490650Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73319 paired=1 still_pending=0\n2026-05-26T20:57:18.592141Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=19 total_pairs=337 total_evicted=258 total_failed=0\n2026-05-26T20:57:18.592298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:18.754901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:18.830661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:21.877945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:22.048120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:22.116039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:24.810794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:24.968976Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:25.049467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:29.493586Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:29.647475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:29.737346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:32.776771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:32.933211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:33.009496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:36.510207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:36.636669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:36.749040Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:39.944213Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=22 total_pairs=343 total_evicted=261 total_failed=0\n2026-05-26T20:57:39.944379Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73321 paired=1 still_pending=0\n2026-05-26T20:57:40.108358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:40.183711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:45.427437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0\n2026-05-26T20:57:50.944981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:57:50.951811Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=22 total_pairs=346 total_evicted=263 total_failed=0\n2026-05-26T20:57:51.107181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:55.145114Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=21 total_pairs=346 total_evicted=265 total_failed=0\n2026-05-26T20:57:55.145256Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:57:55.299321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:55.380970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:58.978167Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=347 total_evicted=267 total_failed=0\n2026-05-26T20:57:58.978269Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:57:59.119328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:57:59.219465Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:00.811564Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:58:05.196203Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:58:05.196853Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=18 total_pairs=349 total_evicted=271 total_failed=0\n2026-05-26T20:58:05.348269Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:05.464986Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:07.300460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0\n2026-05-26T20:58:07.456156Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:07.560813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:13.565652Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=14 total_pairs=350 total_evicted=276 total_failed=0\n2026-05-26T20:58:13.566813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0\n2026-05-26T20:58:13.730197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:13.808563Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:14.657567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:58:14.850266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:14.934691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)\n2026-05-26T20:58:16.395370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0\n2026-05-26T20:58:16.547089Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:21.764007Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=15 total_pairs=353 total_evicted=278 total_failed=0\n2026-05-26T20:58:21.764159Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0\n2026-05-26T20:58:22.025572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:23.157872Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=15 total_pairs=354 total_evicted=279 total_failed=0\n2026-05-26T20:58:23.158034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73326 paired=1 still_pending=0\n2026-05-26T20:58:24.054463Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0\n2026-05-26T20:58:24.197345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:24.495730Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:25.946911Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=363 row_id=74446 frame_id=73327\n2026-05-26T20:58:26.099197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:58:26.196847Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\n2026-05-26T20:58:27.112178Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0\n2026-05-26T20:58:27.268498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:27.346395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:27.732828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73328 paired=1 still_pending=0\n2026-05-26T20:58:27.736179Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=18 total_pairs=359 total_evicted=280 total_failed=0\n2026-05-26T20:58:27.871903Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)\n2026-05-26T20:58:28.528695Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=366 row_id=74449 frame_id=73328\n2026-05-26T20:58:30.094037Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:58:33.030009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73331 paired=1 still_pending=0\n2026-05-26T20:58:33.032199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=18 total_pairs=361 total_evicted=282 total_failed=0\n2026-05-26T20:58:33.140630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=click)\n2026-05-26T20:58:34.534745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=visual_change)\n2026-05-26T20:58:41.146819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=368 row_id=74451 frame_id=73331\n2026-05-26T20:58:41.149210Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=17 total_pairs=362 total_evicted=284 total_failed=0\n2026-05-26T20:58:42.314171Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73334 paired=1 still_pending=0\n2026-05-26T20:58:45.691991Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=17 total_pairs=363 total_evicted=285 total_failed=0\n2026-05-26T20:58:45.692114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73336 paired=1 still_pending=0\n2026-05-26T20:58:48.161231Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73338 paired=1 still_pending=0\n2026-05-26T20:58:48.883060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73340 paired=1 still_pending=0\n2026-05-26T20:58:50.432265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=373 row_id=74456 frame_id=73342\n2026-05-26T20:58:50.569018Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:50.700666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:52.378322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73343 paired=1 still_pending=0\n2026-05-26T20:58:52.451857Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=21 total_pairs=368 total_evicted=286 total_failed=0\n2026-05-26T20:58:53.707852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73345 paired=1 still_pending=0\n2026-05-26T20:58:55.883582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0\n2026-05-26T20:58:56.137549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)\n2026-05-26T20:58:57.531116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0\n2026-05-26T20:58:57.538791Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=22 total_pairs=371 total_evicted=287 total_failed=0\n2026-05-26T20:58:58.398500Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73351 paired=1 still_pending=0\n2026-05-26T20:59:01.312473Z INFO screenpipe_db::db: created new speaker id=69 (no existing match within threshold)\n2026-05-26T20:59:01.762272Z INFO screenpipe_db::db: created new speaker id=70 (no existing match within threshold)\n2026-05-26T20:59:04.480758Z INFO screenpipe_db::db: created new speaker id=71 (no existing match within threshold)\n2026-05-26T20:59:05.815472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=372 total_evicted=289 total_failed=0\n2026-05-26T20:59:05.815560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=74462 frame_id=73353\n2026-05-26T20:59:06.010204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0\n2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0\n2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0\n2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0\n2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0\n2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0\n2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0\n2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0\n2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0\n2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0\n2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0\n2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0\n2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369\n2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)\n2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371\n2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)\n2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372\n2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0\n2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0\n2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0\n2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0\n2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0\n2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)\n2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)\n2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0\n2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0\n2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0\n2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0\n2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0\n2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0\n2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)\n2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0\n2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0\n2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0\n2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0\n2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0\n2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2\n2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0\n2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0\n2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0\n2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0\n2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0\n2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0\n2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0\n2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)\n2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0\n2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)\n2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0\n2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0\n2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0\n2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0\n2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0\n2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0\n2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0\n2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416\n2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0\n2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0\n2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0\n2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames\n2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424\n2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0\n2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428\n2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0\n2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted\n2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0\n2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0\n2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436\n2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0\n2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)\n2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436\n2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0\n2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 11.9MB → 3.1MB (3.8x), 92 JPEGs deleted\n2026-05-26T21:01:39.098787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73440 paired=1 still_pending=0\n2026-05-26T21:01:39.816943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73442 paired=1 still_pending=0\n2026-05-26T21:01:41.385329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=434 row_id=74525 frame_id=73444\n2026-05-26T21:01:42.354871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73446 paired=1 still_pending=0\n2026-05-26T21:01:45.574125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73448 paired=1 still_pending=0\n2026-05-26T21:01:46.034928Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73450 paired=1 still_pending=0\n2026-05-26T21:01:46.817376Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=438 row_id=74529 frame_id=73452\n2026-05-26T21:01:48.501614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73454 paired=2 still_pending=0\n2026-05-26T21:01:48.978787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=441 row_id=74532 frame_id=73456\n2026-05-26T21:01:50.300896Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73458 paired=1 still_pending=0\n2026-05-26T21:01:53.267672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73459 paired=1 still_pending=0\n2026-05-26T21:01:54.767924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73460 paired=1 still_pending=0\n2026-05-26T21:01:56.067956Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73462 paired=1 still_pending=0\n2026-05-26T21:01:56.889728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73464 paired=1 still_pending=0\n2026-05-26T21:01:58.623225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=447 row_id=74538 frame_id=73466\n2026-05-26T21:01:59.218115Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73468 paired=1 still_pending=0\n2026-05-26T21:02:00.851021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=449 row_id=74540 frame_id=73470\n2026-05-26T21:02:01.998305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73472 paired=1 still_pending=0\n2026-05-26T21:02:04.347288Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=31 total_pairs=441 total_evicted=336 total_failed=0\n2026-05-26T21:02:04.347471Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73474 paired=1 still_pending=0\n2026-05-26T21:02:06.105871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73476 paired=1 still_pending=0\n2026-05-26T21:02:12.109467Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=32 total_pairs=443 total_evicted=337 total_failed=0\n2026-05-26T21:02:12.109773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73478 paired=1 still_pending=0\n2026-05-26T21:02:14.341353Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=454 row_id=74546 frame_id=73480\n2026-05-26T21:02:17.040017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=455 row_id=74548 frame_id=73481\n2026-05-26T21:02:17.044798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=456 row_id=74550 frame_id=73480\n2026-05-26T21:02:26.323751Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=8 pending_events=0 pending_frames=28 total_pairs=447 total_evicted=345 total_failed=0\n2026-05-26T21:02:26.323968Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73483 paired=1 still_pending=0\n2026-05-26T21:02:29.672094Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:02:35.040585Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=1 pending_frames=22 total_pairs=448 total_evicted=352 total_failed=0\n2026-05-26T21:02:35.040671Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73487 paired=1 still_pending=0\n2026-05-26T21:02:36.829794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73489 paired=2 still_pending=0\n2026-05-26T21:02:39.266195Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=23 total_pairs=451 total_evicted=353 total_failed=0\n2026-05-26T21:02:39.266348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73492 paired=1 still_pending=0\n2026-05-26T21:02:40.641223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73493 paired=1 still_pending=0\n2026-05-26T21:02:41.341466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73495 paired=1 still_pending=0\n2026-05-26T21:02:42.388106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=464 row_id=74558 frame_id=73497\n2026-05-26T21:02:42.449887Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=23 total_pairs=455 total_evicted=356 total_failed=0\n2026-05-26T21:02:43.857876Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=465 row_id=74559 frame_id=73499\n2026-05-26T21:02:43.859454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73500 paired=1 still_pending=1\n2026-05-26T21:02:47.265914Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73502 paired=1 still_pending=0\n2026-05-26T21:02:48.361779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=23 total_pairs=458 total_evicted=359 total_failed=0\n2026-05-26T21:02:48.361882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73504 paired=1 still_pending=0\n2026-05-26T21:02:49.288504Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73506 paired=1 still_pending=0\n2026-05-26T21:02:51.020096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73508 paired=1 still_pending=0\n2026-05-26T21:02:52.288712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73510 paired=1 still_pending=0\n2026-05-26T21:02:52.778480Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=462 total_evicted=361 total_failed=0\n2026-05-26T21:02:52.778535Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73512 paired=1 still_pending=0\n2026-05-26T21:02:54.840774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73514 paired=2 still_pending=0\n2026-05-26T21:02:55.666536Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73516 paired=1 still_pending=0\n2026-05-26T21:02:56.821152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=476 row_id=74570 frame_id=73518\n2026-05-26T21:03:00.216356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73520 paired=1 still_pending=0\n2026-05-26T21:03:00.217676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=25 total_pairs=468 total_evicted=366 total_failed=0\n2026-05-26T21:03:03.895290Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=468 total_evicted=368 total_failed=0\n2026-05-26T21:03:03.895422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73522 paired=1 still_pending=0\n2026-05-26T21:03:07.106232Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73524 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:03:08.960210Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 6 orphaned chunks\n2026-05-26T21:03:08.961568Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=470 total_evicted=370 total_failed=0\n2026-05-26T21:03:08.961611Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73526 paired=1 still_pending=0\n2026-05-26T21:03:10.793001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73528 paired=1 still_pending=0\n2026-05-26T21:03:12.906147Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=24 total_pairs=472 total_evicted=371 total_failed=0\n2026-05-26T21:03:12.906273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73530 paired=1 still_pending=0\n2026-05-26T21:03:15.230969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73532 paired=1 still_pending=0\n2026-05-26T21:03:16.055774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73534 paired=1 still_pending=0\n2026-05-26T21:03:18.146639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=485 row_id=74579 frame_id=73536\n2026-05-26T21:03:18.152425Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=476 total_evicted=373 total_failed=0\n2026-05-26T21:03:20.509544Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=486 row_id=74581 frame_id=73538\n2026-05-26T21:03:22.786519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73540 paired=1 still_pending=0\n2026-05-26T21:03:24.377722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=488 row_id=74584 frame_id=73541\n2026-05-26T21:03:27.448734Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=28 total_pairs=479 total_evicted=374 total_failed=0\n2026-05-26T21:03:32.066738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=489 row_id=74588 frame_id=73544\n2026-05-26T21:03:33.180323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=490 row_id=74590 frame_id=73546\n2026-05-26T21:03:36.061033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73546 paired=1 still_pending=0\n2026-05-26T21:03:41.904100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73547 paired=1 still_pending=0\n2026-05-26T21:03:41.905403Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=26 total_pairs=483 total_evicted=378 total_failed=0\n2026-05-26T21:04:00.181150Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:04:13.113524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73550 paired=1 still_pending=0\n2026-05-26T21:04:13.116810Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=18 pending_events=0 pending_frames=10 total_pairs=484 total_evicted=396 total_failed=0\n2026-05-26T21:04:20.198770Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=7 total_pairs=484 total_evicted=399 total_failed=0\n2026-05-26T21:04:20.199028Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73555 paired=1 still_pending=0\n2026-05-26T21:04:20.360514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643362899810751552, trigger=click)\n2026-05-26T21:04:31.815187Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=5 total_pairs=485 total_evicted=402 total_failed=0\n2026-05-26T21:04:31.815348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73556 paired=1 still_pending=0\n2026-05-26T21:04:35.047362Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=4 total_pairs=486 total_evicted=404 total_failed=0\n2026-05-26T21:04:35.047526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73560 paired=1 still_pending=0\n2026-05-26T21:04:35.190069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3396646416531305755, trigger=click)\n2026-05-26T21:04:35.881837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73561 paired=1 still_pending=0\n2026-05-26T21:04:39.664639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=498 row_id=74599 frame_id=73564\n2026-05-26T21:04:40.914816Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73567 paired=1 still_pending=0\n2026-05-26T21:04:42.198029Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73569 paired=1 still_pending=0\n2026-05-26T21:04:42.342866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3577559571019619452, trigger=click)\n2026-05-26T21:04:45.614868Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=491 total_evicted=405 total_failed=0\n2026-05-26T21:04:45.615182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73570 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:05:09.718659Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 7 orphaned chunks\n2026-05-26T21:05:15.332544Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=492 total_evicted=406 total_failed=0\n2026-05-26T21:05:15.332747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73573 paired=1 still_pending=0\n2026-05-26T21:05:15.340779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73574 paired=1 still_pending=1\n2026-05-26T21:05:20.507053Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=8 total_pairs=494 total_evicted=407 total_failed=0\n2026-05-26T21:05:20.507489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73577 paired=1 still_pending=0\n2026-05-26T21:05:20.870902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73579 paired=1 still_pending=0\n2026-05-26T21:05:24.171609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6428445175211390380, trigger=visual_change)\n^C2026-05-26T21:05:25.159446Z INFO screenpipe: received ctrl+c, initiating shutdown\n2026-05-26T21:05:25.160130Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-26T21:05:25.160329Z INFO screenpipe_audio::device::device_manager: Stopping device: System Audio (output)\n2026-05-26T21:05:25.187809Z INFO screenpipe_audio::audio_manager::manager: audio manager stopped\n2026-05-26T21:05:25.187869Z INFO screenpipe: stopping UI event capture\n2026-05-26T21:05:25.187920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker shutting down\n2026-05-26T21:05:25.187943Z INFO screenpipe_engine::meeting_detector: meeting v2: shutdown received, exiting detection loop\n2026-05-26T21:05:25.188071Z INFO screenpipe: received shutdown signal for VisionManager\n2026-05-26T21:05:25.188239Z INFO screenpipe_engine::vision_manager::manager: Shutting down VisionManager\n2026-05-26T21:05:25.188247Z INFO screenpipe_engine::vision_manager::manager: Stopping VisionManager\n2026-05-26T21:05:25.188371Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-05-26T21:05:25.189841Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-05-26T21:05:25.204118Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-05-26T21:05:25.314845Z INFO screenpipe_engine::ui_recorder: UI recording session ended: e77d1c43-6f9b-4fee-83e7-1833090386ff\n2026-05-26T21:05:25.317184Z INFO screenpipe: shutdown complete\nggml_metal_free: deallocating\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.349\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-27T09:41:47.730996Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-27T09:41:48.556778Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-27T09:41:48.558315Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-27T09:41:48.558724Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-27T09:41:48.580959Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-27T09:41:48.581058Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-27T09:41:48.989176Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-27T09:41:48.989233Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-27T09:41:48.989162Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-27T09:41:48.989198Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-27T09:41:48.989373Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-27T09:41:48.995792Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-27T09:41:48.996025Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-27T09:41:48.996235Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-27T09:41:48.996716Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-27T09:41:48.996800Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-27T09:41:48.996945Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-27T09:41:48.996965Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n2026-05-27T09:41:48.998013Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-27T09:41:48.998849Z INFO screenpipe: starting UI event capture\n2026-05-27T09:41:49.005581Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-27T09:41:49.007568Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-27T09:41:49.034460Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-27T09:41:49.034839Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:41:49.034856Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:41:49.035064Z INFO screenpipe_engine::ui_recorder: UI recording session started: 381ef504-7990-4cff-a16f-84cb865cbf39\n2026-05-27T09:41:49.035080Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-27T09:41:49.035136Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-26 06:41:49.035135 UTC to 2026-05-27 06:41:49.035135 UTC)\n2026-05-27T09:41:49.041123Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-27T09:41:49.044701Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-27T09:41:49.064043Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-27T09:41:49.629950Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-27T09:41:49.629997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-27T09:41:49.630032Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-27T09:41:49.862246Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-27T09:41:49.862278Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-27T09:41:49.862289Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-27T09:41:49.862296Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-27T09:41:49.862329Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-27T09:41:50.263760Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=2254 elapsed=1.227906875s\n2026-05-27T09:41:50.271042Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 2254 frame entries, coverage from 2026-05-26 06:41:49.035135 UTC\n2026-05-27T09:41:50.531848Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-27T09:41:50.668360Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=73582, dur=78ms\n2026-05-27T09:41:50.802020Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.09424867,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (docker)","depth":2,"bounds":{"left":0.3645279,"top":1.0,"width":0.09424867,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.3665226,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.4587766,"top":1.0,"width":0.094082445,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.46077126,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.55285907,"top":1.0,"width":0.094082445,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.55485374,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6469415,"top":1.0,"width":0.094082445,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.64893615,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4956782,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
2180134098733602135
|
2643140222346294721
|
manual
|
accessibility
|
NULL
|
whisper_init_state: compute buffer (encode) = 65 whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:57:06.482966Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:57:06.510108Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:06.675632Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:06.766183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:09.450394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:09.631125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:09.709630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.307540Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:10.464664Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.757065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.995454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=341 row_id=74424 frame_id=73318
2026-05-26T20:57:11.137675Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:11.885248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:13.242335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=342 row_id=74425 frame_id=73319
2026-05-26T20:57:13.385120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:13.491028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:14.490650Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73319 paired=1 still_pending=0
2026-05-26T20:57:18.592141Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=19 total_pairs=337 total_evicted=258 total_failed=0
2026-05-26T20:57:18.592298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:18.754901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:18.830661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:21.877945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:22.048120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:22.116039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:24.810794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:24.968976Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:25.049467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:29.493586Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:29.647475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:29.737346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:32.776771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:32.933211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:33.009496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:36.510207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:36.636669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:36.749040Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:39.944213Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=22 total_pairs=343 total_evicted=261 total_failed=0
2026-05-26T20:57:39.944379Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73321 paired=1 still_pending=0
2026-05-26T20:57:40.108358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:40.183711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:45.427437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:50.944981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:50.951811Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=22 total_pairs=346 total_evicted=263 total_failed=0
2026-05-26T20:57:51.107181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:55.145114Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=21 total_pairs=346 total_evicted=265 total_failed=0
2026-05-26T20:57:55.145256Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:55.299321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:55.380970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:58.978167Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=347 total_evicted=267 total_failed=0
2026-05-26T20:57:58.978269Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:59.119328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:59.219465Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:00.811564Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:58:05.196203Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:05.196853Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=18 total_pairs=349 total_evicted=271 total_failed=0
2026-05-26T20:58:05.348269Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:05.464986Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:07.300460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:07.456156Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:07.560813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:13.565652Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=14 total_pairs=350 total_evicted=276 total_failed=0
2026-05-26T20:58:13.566813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:13.730197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:13.808563Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:14.657567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:14.850266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:14.934691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:16.395370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:16.547089Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:21.764007Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=15 total_pairs=353 total_evicted=278 total_failed=0
2026-05-26T20:58:21.764159Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:22.025572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:23.157872Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=15 total_pairs=354 total_evicted=279 total_failed=0
2026-05-26T20:58:23.158034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73326 paired=1 still_pending=0
2026-05-26T20:58:24.054463Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0
2026-05-26T20:58:24.197345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:24.495730Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:25.946911Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=363 row_id=74446 frame_id=73327
2026-05-26T20:58:26.099197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:58:26.196847Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:58:27.112178Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0
2026-05-26T20:58:27.268498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:27.346395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:27.732828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73328 paired=1 still_pending=0
2026-05-26T20:58:27.736179Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=18 total_pairs=359 total_evicted=280 total_failed=0
2026-05-26T20:58:27.871903Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:28.528695Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=366 row_id=74449 frame_id=73328
2026-05-26T20:58:30.094037Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:58:33.030009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73331 paired=1 still_pending=0
2026-05-26T20:58:33.032199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=18 total_pairs=361 total_evicted=282 total_failed=0
2026-05-26T20:58:33.140630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=click)
2026-05-26T20:58:34.534745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=visual_change)
2026-05-26T20:58:41.146819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=368 row_id=74451 frame_id=73331
2026-05-26T20:58:41.149210Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=17 total_pairs=362 total_evicted=284 total_failed=0
2026-05-26T20:58:42.314171Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73334 paired=1 still_pending=0
2026-05-26T20:58:45.691991Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=17 total_pairs=363 total_evicted=285 total_failed=0
2026-05-26T20:58:45.692114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73336 paired=1 still_pending=0
2026-05-26T20:58:48.161231Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73338 paired=1 still_pending=0
2026-05-26T20:58:48.883060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73340 paired=1 still_pending=0
2026-05-26T20:58:50.432265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=373 row_id=74456 frame_id=73342
2026-05-26T20:58:50.569018Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:50.700666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:52.378322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73343 paired=1 still_pending=0
2026-05-26T20:58:52.451857Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=21 total_pairs=368 total_evicted=286 total_failed=0
2026-05-26T20:58:53.707852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73345 paired=1 still_pending=0
2026-05-26T20:58:55.883582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0
2026-05-26T20:58:56.137549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:57.531116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0
2026-05-26T20:58:57.538791Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=22 total_pairs=371 total_evicted=287 total_failed=0
2026-05-26T20:58:58.398500Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73351 paired=1 still_pending=0
2026-05-26T20:59:01.312473Z INFO screenpipe_db::db: created new speaker id=69 (no existing match within threshold)
2026-05-26T20:59:01.762272Z INFO screenpipe_db::db: created new speaker id=70 (no existing match within threshold)
2026-05-26T20:59:04.480758Z INFO screenpipe_db::db: created new speaker id=71 (no existing match within threshold)
2026-05-26T20:59:05.815472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=372 total_evicted=289 total_failed=0
2026-05-26T20:59:05.815560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=74462 frame_id=73353
2026-05-26T20:59:06.010204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0
2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0
2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0
2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0
2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0
2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0
2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0
2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0
2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0
2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0
2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0
2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0
2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369
2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)
2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371
2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)
2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372
2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0
2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0
2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0
2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0
2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0
2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)
2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)
2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0
2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0
2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0
2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0
2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0
2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0
2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)
2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0
2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0
2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0
2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0
2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0
2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2
2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0
2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0
2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0
2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0
2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0
2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0
2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0
2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)
2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0
2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)
2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0
2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0
2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0
2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0
2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0
2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0
2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0
2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416
2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0
2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0
2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0
2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames
2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424
2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0
2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428
2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0
2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted
2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0
2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0
2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436
2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0
2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)
2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436
2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0
2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 11.9MB → 3.1MB (3.8x), 92 JPEGs deleted
2026-05-26T21:01...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
73584
|
2629
|
1
|
2026-05-27T06:43:05.826198+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-27/1779 /Users/lukas/.screenpipe/data/data/2026-05-27/1779864185826_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
ggml_metal_init: use concurrency = true
ggml_me ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0
2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0
2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0
2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0
2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0
2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0
2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0
2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0
2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0
2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0
2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0
2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0
2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369
2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)
2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371
2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)
2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372
2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0
2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0
2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0
2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0
2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0
2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)
2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)
2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0
2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0
2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0
2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0
2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0
2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0
2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)
2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0
2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0
2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0
2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0
2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0
2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2
2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0
2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0
2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0
2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0
2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0
2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0
2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0
2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)
2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0
2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)
2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0
2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0
2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0
2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0
2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0
2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0
2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0
2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416
2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0
2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0
2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0
2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames
2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424
2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0
2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428
2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0
2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted
2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0
2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0
2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436
2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0
2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)
2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436
2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0
2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 11.9MB → 3.1MB (3.8x), 92 JPEGs deleted
2026-05-26T21:01:39.098787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73440 paired=1 still_pending=0
2026-05-26T21:01:39.816943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73442 paired=1 still_pending=0
2026-05-26T21:01:41.385329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=434 row_id=74525 frame_id=73444
2026-05-26T21:01:42.354871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73446 paired=1 still_pending=0
2026-05-26T21:01:45.574125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73448 paired=1 still_pending=0
2026-05-26T21:01:46.034928Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73450 paired=1 still_pending=0
2026-05-26T21:01:46.817376Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=438 row_id=74529 frame_id=73452
2026-05-26T21:01:48.501614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73454 paired=2 still_pending=0
2026-05-26T21:01:48.978787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=441 row_id=74532 frame_id=73456
2026-05-26T21:01:50.300896Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73458 paired=1 still_pending=0
2026-05-26T21:01:53.267672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73459 paired=1 still_pending=0
2026-05-26T21:01:54.767924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73460 paired=1 still_pending=0
2026-05-26T21:01:56.067956Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73462 paired=1 still_pending=0
2026-05-26T21:01:56.889728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73464 paired=1 still_pending=0
2026-05-26T21:01:58.623225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=447 row_id=74538 frame_id=73466
2026-05-26T21:01:59.218115Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73468 paired=1 still_pending=0
2026-05-26T21:02:00.851021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=449 row_id=74540 frame_id=73470
2026-05-26T21:02:01.998305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73472 paired=1 still_pending=0
2026-05-26T21:02:04.347288Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=31 total_pairs=441 total_evicted=336 total_failed=0
2026-05-26T21:02:04.347471Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73474 paired=1 still_pending=0
2026-05-26T21:02:06.105871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73476 paired=1 still_pending=0
2026-05-26T21:02:12.109467Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=32 total_pairs=443 total_evicted=337 total_failed=0
2026-05-26T21:02:12.109773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73478 paired=1 still_pending=0
2026-05-26T21:02:14.341353Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=454 row_id=74546 frame_id=73480
2026-05-26T21:02:17.040017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=455 row_id=74548 frame_id=73481
2026-05-26T21:02:17.044798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=456 row_id=74550 frame_id=73480
2026-05-26T21:02:26.323751Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=8 pending_events=0 pending_frames=28 total_pairs=447 total_evicted=345 total_failed=0
2026-05-26T21:02:26.323968Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73483 paired=1 still_pending=0
2026-05-26T21:02:29.672094Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:02:35.040585Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=1 pending_frames=22 total_pairs=448 total_evicted=352 total_failed=0
2026-05-26T21:02:35.040671Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73487 paired=1 still_pending=0
2026-05-26T21:02:36.829794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73489 paired=2 still_pending=0
2026-05-26T21:02:39.266195Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=23 total_pairs=451 total_evicted=353 total_failed=0
2026-05-26T21:02:39.266348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73492 paired=1 still_pending=0
2026-05-26T21:02:40.641223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73493 paired=1 still_pending=0
2026-05-26T21:02:41.341466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73495 paired=1 still_pending=0
2026-05-26T21:02:42.388106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=464 row_id=74558 frame_id=73497
2026-05-26T21:02:42.449887Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=23 total_pairs=455 total_evicted=356 total_failed=0
2026-05-26T21:02:43.857876Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=465 row_id=74559 frame_id=73499
2026-05-26T21:02:43.859454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73500 paired=1 still_pending=1
2026-05-26T21:02:47.265914Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73502 paired=1 still_pending=0
2026-05-26T21:02:48.361779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=23 total_pairs=458 total_evicted=359 total_failed=0
2026-05-26T21:02:48.361882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73504 paired=1 still_pending=0
2026-05-26T21:02:49.288504Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73506 paired=1 still_pending=0
2026-05-26T21:02:51.020096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73508 paired=1 still_pending=0
2026-05-26T21:02:52.288712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73510 paired=1 still_pending=0
2026-05-26T21:02:52.778480Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=462 total_evicted=361 total_failed=0
2026-05-26T21:02:52.778535Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73512 paired=1 still_pending=0
2026-05-26T21:02:54.840774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73514 paired=2 still_pending=0
2026-05-26T21:02:55.666536Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73516 paired=1 still_pending=0
2026-05-26T21:02:56.821152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=476 row_id=74570 frame_id=73518
2026-05-26T21:03:00.216356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73520 paired=1 still_pending=0
2026-05-26T21:03:00.217676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=25 total_pairs=468 total_evicted=366 total_failed=0
2026-05-26T21:03:03.895290Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=468 total_evicted=368 total_failed=0
2026-05-26T21:03:03.895422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73522 paired=1 still_pending=0
2026-05-26T21:03:07.106232Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73524 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T21:03:08.960210Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 6 orphaned chunks
2026-05-26T21:03:08.961568Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=470 total_evicted=370 total_failed=0
2026-05-26T21:03:08.961611Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73526 paired=1 still_pending=0
2026-05-26T21:03:10.793001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73528 paired=1 still_pending=0
2026-05-26T21:03:12.906147Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=24 total_pairs=472 total_evicted=371 total_failed=0
2026-05-26T21:03:12.906273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73530 paired=1 still_pending=0
2026-05-26T21:03:15.230969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73532 paired=1 still_pending=0
2026-05-26T21:03:16.055774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73534 paired=1 still_pending=0
2026-05-26T21:03:18.146639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=485 row_id=74579 frame_id=73536
2026-05-26T21:03:18.152425Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=476 total_evicted=373 total_failed=0
2026-05-26T21:03:20.509544Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=486 row_id=74581 frame_id=73538
2026-05-26T21:03:22.786519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73540 paired=1 still_pending=0
2026-05-26T21:03:24.377722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=488 row_id=74584 frame_id=73541
2026-05-26T21:03:27.448734Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=28 total_pairs=479 total_evicted=374 total_failed=0
2026-05-26T21:03:32.066738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=489 row_id=74588 frame_id=73544
2026-05-26T21:03:33.180323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=490 row_id=74590 frame_id=73546
2026-05-26T21:03:36.061033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73546 paired=1 still_pending=0
2026-05-26T21:03:41.904100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73547 paired=1 still_pending=0
2026-05-26T21:03:41.905403Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=26 total_pairs=483 total_evicted=378 total_failed=0
2026-05-26T21:04:00.181150Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:04:13.113524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73550 paired=1 still_pending=0
2026-05-26T21:04:13.116810Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=18 pending_events=0 pending_frames=10 total_pairs=484 total_evicted=396 total_failed=0
2026-05-26T21:04:20.198770Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=7 total_pairs=484 total_evicted=399 total_failed=0
2026-05-26T21:04:20.199028Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73555 paired=1 still_pending=0
2026-05-26T21:04:20.360514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643362899810751552, trigger=click)
2026-05-26T21:04:31.815187Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=5 total_pairs=485 total_evicted=402 total_failed=0
2026-05-26T21:04:31.815348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73556 paired=1 still_pending=0
2026-05-26T21:04:35.047362Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=4 total_pairs=486 total_evicted=404 total_failed=0
2026-05-26T21:04:35.047526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73560 paired=1 still_pending=0
2026-05-26T21:04:35.190069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3396646416531305755, trigger=click)
2026-05-26T21:04:35.881837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73561 paired=1 still_pending=0
2026-05-26T21:04:39.664639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=498 row_id=74599 frame_id=73564
2026-05-26T21:04:40.914816Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73567 paired=1 still_pending=0
2026-05-26T21:04:42.198029Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73569 paired=1 still_pending=0
2026-05-26T21:04:42.342866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3577559571019619452, trigger=click)
2026-05-26T21:04:45.614868Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=491 total_evicted=405 total_failed=0
2026-05-26T21:04:45.615182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73570 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_in...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"ggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0\n2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0\n2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0\n2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0\n2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0\n2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0\n2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0\n2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0\n2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0\n2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0\n2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0\n2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0\n2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369\n2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)\n2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371\n2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)\n2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372\n2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0\n2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0\n2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0\n2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0\n2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0\n2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)\n2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)\n2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0\n2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0\n2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0\n2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0\n2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0\n2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0\n2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)\n2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0\n2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0\n2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0\n2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0\n2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0\n2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2\n2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0\n2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0\n2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0\n2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0\n2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0\n2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0\n2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0\n2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)\n2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0\n2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)\n2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0\n2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0\n2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0\n2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0\n2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0\n2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0\n2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0\n2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416\n2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0\n2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0\n2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0\n2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames\n2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424\n2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0\n2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428\n2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0\n2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted\n2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0\n2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0\n2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436\n2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0\n2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)\n2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436\n2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0\n2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 11.9MB → 3.1MB (3.8x), 92 JPEGs deleted\n2026-05-26T21:01:39.098787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73440 paired=1 still_pending=0\n2026-05-26T21:01:39.816943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73442 paired=1 still_pending=0\n2026-05-26T21:01:41.385329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=434 row_id=74525 frame_id=73444\n2026-05-26T21:01:42.354871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73446 paired=1 still_pending=0\n2026-05-26T21:01:45.574125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73448 paired=1 still_pending=0\n2026-05-26T21:01:46.034928Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73450 paired=1 still_pending=0\n2026-05-26T21:01:46.817376Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=438 row_id=74529 frame_id=73452\n2026-05-26T21:01:48.501614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73454 paired=2 still_pending=0\n2026-05-26T21:01:48.978787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=441 row_id=74532 frame_id=73456\n2026-05-26T21:01:50.300896Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73458 paired=1 still_pending=0\n2026-05-26T21:01:53.267672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73459 paired=1 still_pending=0\n2026-05-26T21:01:54.767924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73460 paired=1 still_pending=0\n2026-05-26T21:01:56.067956Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73462 paired=1 still_pending=0\n2026-05-26T21:01:56.889728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73464 paired=1 still_pending=0\n2026-05-26T21:01:58.623225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=447 row_id=74538 frame_id=73466\n2026-05-26T21:01:59.218115Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73468 paired=1 still_pending=0\n2026-05-26T21:02:00.851021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=449 row_id=74540 frame_id=73470\n2026-05-26T21:02:01.998305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73472 paired=1 still_pending=0\n2026-05-26T21:02:04.347288Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=31 total_pairs=441 total_evicted=336 total_failed=0\n2026-05-26T21:02:04.347471Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73474 paired=1 still_pending=0\n2026-05-26T21:02:06.105871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73476 paired=1 still_pending=0\n2026-05-26T21:02:12.109467Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=32 total_pairs=443 total_evicted=337 total_failed=0\n2026-05-26T21:02:12.109773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73478 paired=1 still_pending=0\n2026-05-26T21:02:14.341353Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=454 row_id=74546 frame_id=73480\n2026-05-26T21:02:17.040017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=455 row_id=74548 frame_id=73481\n2026-05-26T21:02:17.044798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=456 row_id=74550 frame_id=73480\n2026-05-26T21:02:26.323751Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=8 pending_events=0 pending_frames=28 total_pairs=447 total_evicted=345 total_failed=0\n2026-05-26T21:02:26.323968Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73483 paired=1 still_pending=0\n2026-05-26T21:02:29.672094Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:02:35.040585Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=1 pending_frames=22 total_pairs=448 total_evicted=352 total_failed=0\n2026-05-26T21:02:35.040671Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73487 paired=1 still_pending=0\n2026-05-26T21:02:36.829794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73489 paired=2 still_pending=0\n2026-05-26T21:02:39.266195Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=23 total_pairs=451 total_evicted=353 total_failed=0\n2026-05-26T21:02:39.266348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73492 paired=1 still_pending=0\n2026-05-26T21:02:40.641223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73493 paired=1 still_pending=0\n2026-05-26T21:02:41.341466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73495 paired=1 still_pending=0\n2026-05-26T21:02:42.388106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=464 row_id=74558 frame_id=73497\n2026-05-26T21:02:42.449887Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=23 total_pairs=455 total_evicted=356 total_failed=0\n2026-05-26T21:02:43.857876Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=465 row_id=74559 frame_id=73499\n2026-05-26T21:02:43.859454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73500 paired=1 still_pending=1\n2026-05-26T21:02:47.265914Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73502 paired=1 still_pending=0\n2026-05-26T21:02:48.361779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=23 total_pairs=458 total_evicted=359 total_failed=0\n2026-05-26T21:02:48.361882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73504 paired=1 still_pending=0\n2026-05-26T21:02:49.288504Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73506 paired=1 still_pending=0\n2026-05-26T21:02:51.020096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73508 paired=1 still_pending=0\n2026-05-26T21:02:52.288712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73510 paired=1 still_pending=0\n2026-05-26T21:02:52.778480Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=462 total_evicted=361 total_failed=0\n2026-05-26T21:02:52.778535Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73512 paired=1 still_pending=0\n2026-05-26T21:02:54.840774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73514 paired=2 still_pending=0\n2026-05-26T21:02:55.666536Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73516 paired=1 still_pending=0\n2026-05-26T21:02:56.821152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=476 row_id=74570 frame_id=73518\n2026-05-26T21:03:00.216356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73520 paired=1 still_pending=0\n2026-05-26T21:03:00.217676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=25 total_pairs=468 total_evicted=366 total_failed=0\n2026-05-26T21:03:03.895290Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=468 total_evicted=368 total_failed=0\n2026-05-26T21:03:03.895422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73522 paired=1 still_pending=0\n2026-05-26T21:03:07.106232Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73524 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:03:08.960210Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 6 orphaned chunks\n2026-05-26T21:03:08.961568Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=470 total_evicted=370 total_failed=0\n2026-05-26T21:03:08.961611Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73526 paired=1 still_pending=0\n2026-05-26T21:03:10.793001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73528 paired=1 still_pending=0\n2026-05-26T21:03:12.906147Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=24 total_pairs=472 total_evicted=371 total_failed=0\n2026-05-26T21:03:12.906273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73530 paired=1 still_pending=0\n2026-05-26T21:03:15.230969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73532 paired=1 still_pending=0\n2026-05-26T21:03:16.055774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73534 paired=1 still_pending=0\n2026-05-26T21:03:18.146639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=485 row_id=74579 frame_id=73536\n2026-05-26T21:03:18.152425Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=476 total_evicted=373 total_failed=0\n2026-05-26T21:03:20.509544Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=486 row_id=74581 frame_id=73538\n2026-05-26T21:03:22.786519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73540 paired=1 still_pending=0\n2026-05-26T21:03:24.377722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=488 row_id=74584 frame_id=73541\n2026-05-26T21:03:27.448734Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=28 total_pairs=479 total_evicted=374 total_failed=0\n2026-05-26T21:03:32.066738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=489 row_id=74588 frame_id=73544\n2026-05-26T21:03:33.180323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=490 row_id=74590 frame_id=73546\n2026-05-26T21:03:36.061033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73546 paired=1 still_pending=0\n2026-05-26T21:03:41.904100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73547 paired=1 still_pending=0\n2026-05-26T21:03:41.905403Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=26 total_pairs=483 total_evicted=378 total_failed=0\n2026-05-26T21:04:00.181150Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:04:13.113524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73550 paired=1 still_pending=0\n2026-05-26T21:04:13.116810Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=18 pending_events=0 pending_frames=10 total_pairs=484 total_evicted=396 total_failed=0\n2026-05-26T21:04:20.198770Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=7 total_pairs=484 total_evicted=399 total_failed=0\n2026-05-26T21:04:20.199028Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73555 paired=1 still_pending=0\n2026-05-26T21:04:20.360514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643362899810751552, trigger=click)\n2026-05-26T21:04:31.815187Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=5 total_pairs=485 total_evicted=402 total_failed=0\n2026-05-26T21:04:31.815348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73556 paired=1 still_pending=0\n2026-05-26T21:04:35.047362Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=4 total_pairs=486 total_evicted=404 total_failed=0\n2026-05-26T21:04:35.047526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73560 paired=1 still_pending=0\n2026-05-26T21:04:35.190069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3396646416531305755, trigger=click)\n2026-05-26T21:04:35.881837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73561 paired=1 still_pending=0\n2026-05-26T21:04:39.664639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=498 row_id=74599 frame_id=73564\n2026-05-26T21:04:40.914816Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73567 paired=1 still_pending=0\n2026-05-26T21:04:42.198029Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73569 paired=1 still_pending=0\n2026-05-26T21:04:42.342866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3577559571019619452, trigger=click)\n2026-05-26T21:04:45.614868Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=491 total_evicted=405 total_failed=0\n2026-05-26T21:04:45.615182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73570 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:05:09.718659Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 7 orphaned chunks\n2026-05-26T21:05:15.332544Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=492 total_evicted=406 total_failed=0\n2026-05-26T21:05:15.332747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73573 paired=1 still_pending=0\n2026-05-26T21:05:15.340779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73574 paired=1 still_pending=1\n2026-05-26T21:05:20.507053Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=8 total_pairs=494 total_evicted=407 total_failed=0\n2026-05-26T21:05:20.507489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73577 paired=1 still_pending=0\n2026-05-26T21:05:20.870902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73579 paired=1 still_pending=0\n2026-05-26T21:05:24.171609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6428445175211390380, trigger=visual_change)\n^C2026-05-26T21:05:25.159446Z INFO screenpipe: received ctrl+c, initiating shutdown\n2026-05-26T21:05:25.160130Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-26T21:05:25.160329Z INFO screenpipe_audio::device::device_manager: Stopping device: System Audio (output)\n2026-05-26T21:05:25.187809Z INFO screenpipe_audio::audio_manager::manager: audio manager stopped\n2026-05-26T21:05:25.187869Z INFO screenpipe: stopping UI event capture\n2026-05-26T21:05:25.187920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker shutting down\n2026-05-26T21:05:25.187943Z INFO screenpipe_engine::meeting_detector: meeting v2: shutdown received, exiting detection loop\n2026-05-26T21:05:25.188071Z INFO screenpipe: received shutdown signal for VisionManager\n2026-05-26T21:05:25.188239Z INFO screenpipe_engine::vision_manager::manager: Shutting down VisionManager\n2026-05-26T21:05:25.188247Z INFO screenpipe_engine::vision_manager::manager: Stopping VisionManager\n2026-05-26T21:05:25.188371Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-05-26T21:05:25.189841Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-05-26T21:05:25.204118Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-05-26T21:05:25.314845Z INFO screenpipe_engine::ui_recorder: UI recording session ended: e77d1c43-6f9b-4fee-83e7-1833090386ff\n2026-05-26T21:05:25.317184Z INFO screenpipe: shutdown complete\nggml_metal_free: deallocating\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.349\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-27T09:41:47.730996Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-27T09:41:48.556778Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-27T09:41:48.558315Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-27T09:41:48.558724Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-27T09:41:48.580959Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-27T09:41:48.581058Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-27T09:41:48.989176Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-27T09:41:48.989233Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-27T09:41:48.989162Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-27T09:41:48.989198Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-27T09:41:48.989373Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-27T09:41:48.995792Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-27T09:41:48.996025Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-27T09:41:48.996235Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-27T09:41:48.996716Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-27T09:41:48.996800Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-27T09:41:48.996945Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-27T09:41:48.996965Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n2026-05-27T09:41:48.998013Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-27T09:41:48.998849Z INFO screenpipe: starting UI event capture\n2026-05-27T09:41:49.005581Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-27T09:41:49.007568Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-27T09:41:49.034460Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-27T09:41:49.034839Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:41:49.034856Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:41:49.035064Z INFO screenpipe_engine::ui_recorder: UI recording session started: 381ef504-7990-4cff-a16f-84cb865cbf39\n2026-05-27T09:41:49.035080Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-27T09:41:49.035136Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-26 06:41:49.035135 UTC to 2026-05-27 06:41:49.035135 UTC)\n2026-05-27T09:41:49.041123Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-27T09:41:49.044701Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-27T09:41:49.064043Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-27T09:41:49.629950Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-27T09:41:49.629997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-27T09:41:49.630032Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-27T09:41:49.862246Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-27T09:41:49.862278Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-27T09:41:49.862289Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-27T09:41:49.862296Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-27T09:41:49.862329Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-27T09:41:50.263760Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=2254 elapsed=1.227906875s\n2026-05-27T09:41:50.271042Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 2254 frame entries, coverage from 2026-05-26 06:41:49.035135 UTC\n2026-05-27T09:41:50.531848Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-27T09:41:50.668360Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=73582, dur=78ms\n2026-05-27T09:41:50.802020Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-27T09:41:50.909566Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=73583, dur=73ms\n2026-05-27T09:41:50.910986Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n^C2026-05-27T09:41:50.940100Z INFO screenpipe: received ctrl+c, initiating shutdown\n2026-05-27T09:41:50.940195Z INFO screenpipe: stopping UI event capture\n2026-05-27T09:41:50.940237Z INFO screenpipe_engine::meeting_detector: meeting v2: shutdown received, exiting detection loop\n2026-05-27T09:41:50.940306Z INFO screenpipe: received shutdown signal for VisionManager\n2026-05-27T09:41:50.940321Z INFO screenpipe_engine::vision_manager::manager: Shutting down VisionManager\n2026-05-27T09:41:50.940326Z INFO screenpipe_engine::vision_manager::manager: Stopping VisionManager\n2026-05-27T09:41:50.940333Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-05-27T09:41:50.940400Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-05-27T09:41:50.942626Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-27T09:41:51.085491Z INFO screenpipe_engine::ui_recorder: UI recording session ended: 381ef504-7990-4cff-a16f-84cb865cbf39\n2026-05-27T09:41:51.085667Z INFO screenpipe: shutdown complete\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.npm \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.npm $ ll\ntotal 24\ndrwx------ 9 lukas staff 288 26 May 14:16 .\ndrwx------+ 96 lukas staff 3072 26 May 20:55 ..\ndrwx------ 5 lukas staff 160 1 Nov 2021 _cacache\ndrwx------@ 2 lukas staff 64 26 May 14:16 _locks\ndrwx------ 13 lukas staff 416 27 May 09:41 _logs\ndrwxr-xr-x 24 lukas staff 768 26 May 14:16 _npx\n-rw-r--r--@ 1 lukas staff 0 22 May 10:23 _update-notifier-last-checked\n-rw-r--r-- 1 lukas staff 173 26 May 14:16 anonymous-cli-metrics.json\n-rw-r--r-- 1 lukas staff 4764 31 Jan 2024 eresolve-report.txt\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.npm $ rm -rf _npx \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.npm $ ll\ntotal 24\ndrwx------ 8 lukas staff 256 27 May 09:42 .\ndrwx------+ 96 lukas staff 3072 26 May 20:55 ..\ndrwx------ 5 lukas staff 160 1 Nov 2021 _cacache\ndrwx------@ 2 lukas staff 64 26 May 14:16 _locks\ndrwx------ 13 lukas staff 416 27 May 09:41 _logs\n-rw-r--r--@ 1 lukas staff 0 22 May 10:23 _update-notifier-last-checked\n-rw-r--r-- 1 lukas staff 173 26 May 14:16 anonymous-cli-metrics.json\n-rw-r--r-- 1 lukas staff 4764 31 Jan 2024 eresolve-report.txt\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.npm $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.349\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-27T09:43:03.338936Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-27T09:43:03.963987Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-27T09:43:03.965444Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-27T09:43:03.965946Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-27T09:43:03.984517Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-27T09:43:03.984643Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-27T09:43:04.401330Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-27T09:43:04.401436Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-27T09:43:04.401343Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-27T09:43:04.401522Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-27T09:43:04.401634Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-27T09:43:04.404307Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-27T09:43:04.404589Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-27T09:43:04.405053Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-27T09:43:04.405146Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-27T09:43:04.405225Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-27T09:43:04.405301Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-27T09:43:04.405315Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-27T09:43:04.408698Z INFO screenpipe: starting UI event capture\n2026-05-27T09:43:04.407787Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-05-27T09:43:04.415575Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-27T09:43:04.417716Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-27T09:43:04.443805Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-27T09:43:04.444668Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:43:04.444693Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:43:04.444875Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-27T09:43:04.444989Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-26 06:43:04.444987 UTC to 2026-05-27 06:43:04.444987 UTC)\n2026-05-27T09:43:04.445273Z INFO screenpipe_engine::ui_recorder: UI recording session started: d58b18b9-c318-4368-b491-d69932695fc2\n2026-05-27T09:43:04.450983Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-27T09:43:04.455227Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-27T09:43:04.471607Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-27T09:43:05.069681Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-27T09:43:05.069810Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-27T09:43:05.069855Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-27T09:43:05.324376Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-27T09:43:05.324428Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-27T09:43:05.324441Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-27T09:43:05.324448Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-27T09:43:05.324498Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-27T09:43:05.687658Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=2230 elapsed=1.241344125s\n2026-05-27T09:43:05.695821Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 2230 frame entries, coverage from 2026-05-26 06:43:04.444987 UTC\n2026-05-27T09:43:05.992936Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-27T09:43:06.266870Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)","depth":4,"on_screen":true,"value":"ggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0\n2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0\n2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0\n2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0\n2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0\n2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0\n2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0\n2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0\n2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0\n2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0\n2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0\n2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0\n2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369\n2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)\n2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371\n2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)\n2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372\n2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0\n2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0\n2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0\n2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0\n2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0\n2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)\n2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)\n2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0\n2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0\n2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0\n2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0\n2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0\n2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0\n2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)\n2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0\n2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0\n2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0\n2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0\n2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0\n2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2\n2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0\n2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0\n2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0\n2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0\n2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0\n2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0\n2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0\n2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)\n2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0\n2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)\n2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0\n2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0\n2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0\n2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0\n2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0\n2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0\n2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0\n2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416\n2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0\n2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0\n2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0\n2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames\n2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424\n2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0\n2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428\n2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0\n2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted\n2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0\n2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0\n2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436\n2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0\n2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)\n2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436\n2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0\n2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 11.9MB → 3.1MB (3.8x), 92 JPEGs deleted\n2026-05-26T21:01:39.098787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73440 paired=1 still_pending=0\n2026-05-26T21:01:39.816943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73442 paired=1 still_pending=0\n2026-05-26T21:01:41.385329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=434 row_id=74525 frame_id=73444\n2026-05-26T21:01:42.354871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73446 paired=1 still_pending=0\n2026-05-26T21:01:45.574125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73448 paired=1 still_pending=0\n2026-05-26T21:01:46.034928Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73450 paired=1 still_pending=0\n2026-05-26T21:01:46.817376Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=438 row_id=74529 frame_id=73452\n2026-05-26T21:01:48.501614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73454 paired=2 still_pending=0\n2026-05-26T21:01:48.978787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=441 row_id=74532 frame_id=73456\n2026-05-26T21:01:50.300896Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73458 paired=1 still_pending=0\n2026-05-26T21:01:53.267672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73459 paired=1 still_pending=0\n2026-05-26T21:01:54.767924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73460 paired=1 still_pending=0\n2026-05-26T21:01:56.067956Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73462 paired=1 still_pending=0\n2026-05-26T21:01:56.889728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73464 paired=1 still_pending=0\n2026-05-26T21:01:58.623225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=447 row_id=74538 frame_id=73466\n2026-05-26T21:01:59.218115Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73468 paired=1 still_pending=0\n2026-05-26T21:02:00.851021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=449 row_id=74540 frame_id=73470\n2026-05-26T21:02:01.998305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73472 paired=1 still_pending=0\n2026-05-26T21:02:04.347288Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=31 total_pairs=441 total_evicted=336 total_failed=0\n2026-05-26T21:02:04.347471Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73474 paired=1 still_pending=0\n2026-05-26T21:02:06.105871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73476 paired=1 still_pending=0\n2026-05-26T21:02:12.109467Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=32 total_pairs=443 total_evicted=337 total_failed=0\n2026-05-26T21:02:12.109773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73478 paired=1 still_pending=0\n2026-05-26T21:02:14.341353Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=454 row_id=74546 frame_id=73480\n2026-05-26T21:02:17.040017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=455 row_id=74548 frame_id=73481\n2026-05-26T21:02:17.044798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=456 row_id=74550 frame_id=73480\n2026-05-26T21:02:26.323751Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=8 pending_events=0 pending_frames=28 total_pairs=447 total_evicted=345 total_failed=0\n2026-05-26T21:02:26.323968Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73483 paired=1 still_pending=0\n2026-05-26T21:02:29.672094Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:02:35.040585Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=1 pending_frames=22 total_pairs=448 total_evicted=352 total_failed=0\n2026-05-26T21:02:35.040671Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73487 paired=1 still_pending=0\n2026-05-26T21:02:36.829794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73489 paired=2 still_pending=0\n2026-05-26T21:02:39.266195Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=23 total_pairs=451 total_evicted=353 total_failed=0\n2026-05-26T21:02:39.266348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73492 paired=1 still_pending=0\n2026-05-26T21:02:40.641223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73493 paired=1 still_pending=0\n2026-05-26T21:02:41.341466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73495 paired=1 still_pending=0\n2026-05-26T21:02:42.388106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=464 row_id=74558 frame_id=73497\n2026-05-26T21:02:42.449887Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=23 total_pairs=455 total_evicted=356 total_failed=0\n2026-05-26T21:02:43.857876Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=465 row_id=74559 frame_id=73499\n2026-05-26T21:02:43.859454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73500 paired=1 still_pending=1\n2026-05-26T21:02:47.265914Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73502 paired=1 still_pending=0\n2026-05-26T21:02:48.361779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=23 total_pairs=458 total_evicted=359 total_failed=0\n2026-05-26T21:02:48.361882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73504 paired=1 still_pending=0\n2026-05-26T21:02:49.288504Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73506 paired=1 still_pending=0\n2026-05-26T21:02:51.020096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73508 paired=1 still_pending=0\n2026-05-26T21:02:52.288712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73510 paired=1 still_pending=0\n2026-05-26T21:02:52.778480Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=462 total_evicted=361 total_failed=0\n2026-05-26T21:02:52.778535Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73512 paired=1 still_pending=0\n2026-05-26T21:02:54.840774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73514 paired=2 still_pending=0\n2026-05-26T21:02:55.666536Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73516 paired=1 still_pending=0\n2026-05-26T21:02:56.821152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=476 row_id=74570 frame_id=73518\n2026-05-26T21:03:00.216356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73520 paired=1 still_pending=0\n2026-05-26T21:03:00.217676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=25 total_pairs=468 total_evicted=366 total_failed=0\n2026-05-26T21:03:03.895290Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=468 total_evicted=368 total_failed=0\n2026-05-26T21:03:03.895422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73522 paired=1 still_pending=0\n2026-05-26T21:03:07.106232Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73524 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:03:08.960210Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 6 orphaned chunks\n2026-05-26T21:03:08.961568Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=470 total_evicted=370 total_failed=0\n2026-05-26T21:03:08.961611Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73526 paired=1 still_pending=0\n2026-05-26T21:03:10.793001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73528 paired=1 still_pending=0\n2026-05-26T21:03:12.906147Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=24 total_pairs=472 total_evicted=371 total_failed=0\n2026-05-26T21:03:12.906273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73530 paired=1 still_pending=0\n2026-05-26T21:03:15.230969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73532 paired=1 still_pending=0\n2026-05-26T21:03:16.055774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73534 paired=1 still_pending=0\n2026-05-26T21:03:18.146639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=485 row_id=74579 frame_id=73536\n2026-05-26T21:03:18.152425Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=476 total_evicted=373 total_failed=0\n2026-05-26T21:03:20.509544Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=486 row_id=74581 frame_id=73538\n2026-05-26T21:03:22.786519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73540 paired=1 still_pending=0\n2026-05-26T21:03:24.377722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=488 row_id=74584 frame_id=73541\n2026-05-26T21:03:27.448734Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=28 total_pairs=479 total_evicted=374 total_failed=0\n2026-05-26T21:03:32.066738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=489 row_id=74588 frame_id=73544\n2026-05-26T21:03:33.180323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=490 row_id=74590 frame_id=73546\n2026-05-26T21:03:36.061033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73546 paired=1 still_pending=0\n2026-05-26T21:03:41.904100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73547 paired=1 still_pending=0\n2026-05-26T21:03:41.905403Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=26 total_pairs=483 total_evicted=378 total_failed=0\n2026-05-26T21:04:00.181150Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:04:13.113524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73550 paired=1 still_pending=0\n2026-05-26T21:04:13.116810Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=18 pending_events=0 pending_frames=10 total_pairs=484 total_evicted=396 total_failed=0\n2026-05-26T21:04:20.198770Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=7 total_pairs=484 total_evicted=399 total_failed=0\n2026-05-26T21:04:20.199028Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73555 paired=1 still_pending=0\n2026-05-26T21:04:20.360514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643362899810751552, trigger=click)\n2026-05-26T21:04:31.815187Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=5 total_pairs=485 total_evicted=402 total_failed=0\n2026-05-26T21:04:31.815348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73556 paired=1 still_pending=0\n2026-05-26T21:04:35.047362Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=4 total_pairs=486 total_evicted=404 total_failed=0\n2026-05-26T21:04:35.047526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73560 paired=1 still_pending=0\n2026-05-26T21:04:35.190069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3396646416531305755, trigger=click)\n2026-05-26T21:04:35.881837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73561 paired=1 still_pending=0\n2026-05-26T21:04:39.664639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=498 row_id=74599 frame_id=73564\n2026-05-26T21:04:40.914816Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73567 paired=1 still_pending=0\n2026-05-26T21:04:42.198029Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73569 paired=1 still_pending=0\n2026-05-26T21:04:42.342866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3577559571019619452, trigger=click)\n2026-05-26T21:04:45.614868Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=491 total_evicted=405 total_failed=0\n2026-05-26T21:04:45.615182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73570 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:05:09.718659Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 7 orphaned chunks\n2026-05-26T21:05:15.332544Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=492 total_evicted=406 total_failed=0\n2026-05-26T21:05:15.332747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73573 paired=1 still_pending=0\n2026-05-26T21:05:15.340779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73574 paired=1 still_pending=1\n2026-05-26T21:05:20.507053Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=8 total_pairs=494 total_evicted=407 total_failed=0\n2026-05-26T21:05:20.507489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73577 paired=1 still_pending=0\n2026-05-26T21:05:20.870902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73579 paired=1 still_pending=0\n2026-05-26T21:05:24.171609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6428445175211390380, trigger=visual_change)\n^C2026-05-26T21:05:25.159446Z INFO screenpipe: received ctrl+c, initiating shutdown\n2026-05-26T21:05:25.160130Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-26T21:05:25.160329Z INFO screenpipe_audio::device::device_manager: Stopping device: System Audio (output)\n2026-05-26T21:05:25.187809Z INFO screenpipe_audio::audio_manager::manager: audio manager stopped\n2026-05-26T21:05:25.187869Z INFO screenpipe: stopping UI event capture\n2026-05-26T21:05:25.187920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker shutting down\n2026-05-26T21:05:25.187943Z INFO screenpipe_engine::meeting_detector: meeting v2: shutdown received, exiting detection loop\n2026-05-26T21:05:25.188071Z INFO screenpipe: received shutdown signal for VisionManager\n2026-05-26T21:05:25.188239Z INFO screenpipe_engine::vision_manager::manager: Shutting down VisionManager\n2026-05-26T21:05:25.188247Z INFO screenpipe_engine::vision_manager::manager: Stopping VisionManager\n2026-05-26T21:05:25.188371Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-05-26T21:05:25.189841Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-05-26T21:05:25.204118Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-05-26T21:05:25.314845Z INFO screenpipe_engine::ui_recorder: UI recording session ended: e77d1c43-6f9b-4fee-83e7-1833090386ff\n2026-05-26T21:05:25.317184Z INFO screenpipe: shutdown complete\nggml_metal_free: deallocating\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.349\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-27T09:41:47.730996Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-27T09:41:48.556778Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-27T09:41:48.558315Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-27T09:41:48.558724Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-27T09:41:48.580959Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-27T09:41:48.581058Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-27T09:41:48.989176Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-27T09:41:48.989233Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-27T09:41:48.989162Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-27T09:41:48.989198Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-27T09:41:48.989373Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-27T09:41:48.995792Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-27T09:41:48.996025Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-27T09:41:48.996235Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-27T09:41:48.996716Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-27T09:41:48.996800Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-27T09:41:48.996945Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-27T09:41:48.996965Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n2026-05-27T09:41:48.998013Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-27T09:41:48.998849Z INFO screenpipe: starting UI event capture\n2026-05-27T09:41:49.005581Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-27T09:41:49.007568Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-27T09:41:49.034460Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-27T09:41:49.034839Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:41:49.034856Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:41:49.035064Z INFO screenpipe_engine::ui_recorder: UI recording session started: 381ef504-7990-4cff-a16f-84cb865cbf39\n2026-05-27T09:41:49.035080Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-27T09:41:49.035136Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-26 06:41:49.035135 UTC to 2026-05-27 06:41:49.035135 UTC)\n2026-05-27T09:41:49.041123Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-27T09:41:49.044701Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-27T09:41:49.064043Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-27T09:41:49.629950Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-27T09:41:49.629997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-27T09:41:49.630032Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-27T09:41:49.862246Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-27T09:41:49.862278Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-27T09:41:49.862289Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-27T09:41:49.862296Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-27T09:41:49.862329Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-27T09:41:50.263760Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=2254 elapsed=1.227906875s\n2026-05-27T09:41:50.271042Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 2254 frame entries, coverage from 2026-05-26 06:41:49.035135 UTC\n2026-05-27T09:41:50.531848Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-27T09:41:50.668360Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=73582, dur=78ms\n2026-05-27T09:41:50.802020Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-27T09:41:50.909566Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=73583, dur=73ms\n2026-05-27T09:41:50.910986Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n^C2026-05-27T09:41:50.940100Z INFO screenpipe: received ctrl+c, initiating shutdown\n2026-05-27T09:41:50.940195Z INFO screenpipe: stopping UI event capture\n2026-05-27T09:41:50.940237Z INFO screenpipe_engine::meeting_detector: meeting v2: shutdown received, exiting detection loop\n2026-05-27T09:41:50.940306Z INFO screenpipe: received shutdown signal for VisionManager\n2026-05-27T09:41:50.940321Z INFO screenpipe_engine::vision_manager::manager: Shutting down VisionManager\n2026-05-27T09:41:50.940326Z INFO screenpipe_engine::vision_manager::manager: Stopping VisionManager\n2026-05-27T09:41:50.940333Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-05-27T09:41:50.940400Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-05-27T09:41:50.942626Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-27T09:41:51.085491Z INFO screenpipe_engine::ui_recorder: UI recording session ended: 381ef504-7990-4cff-a16f-84cb865cbf39\n2026-05-27T09:41:51.085667Z INFO screenpipe: shutdown complete\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.npm \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.npm $ ll\ntotal 24\ndrwx------ 9 lukas staff 288 26 May 14:16 .\ndrwx------+ 96 lukas staff 3072 26 May 20:55 ..\ndrwx------ 5 lukas staff 160 1 Nov 2021 _cacache\ndrwx------@ 2 lukas staff 64 26 May 14:16 _locks\ndrwx------ 13 lukas staff 416 27 May 09:41 _logs\ndrwxr-xr-x 24 lukas staff 768 26 May 14:16 _npx\n-rw-r--r--@ 1 lukas staff 0 22 May 10:23 _update-notifier-last-checked\n-rw-r--r-- 1 lukas staff 173 26 May 14:16 anonymous-cli-metrics.json\n-rw-r--r-- 1 lukas staff 4764 31 Jan 2024 eresolve-report.txt\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.npm $ rm -rf _npx \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.npm $ ll\ntotal 24\ndrwx------ 8 lukas staff 256 27 May 09:42 .\ndrwx------+ 96 lukas staff 3072 26 May 20:55 ..\ndrwx------ 5 lukas staff 160 1 Nov 2021 _cacache\ndrwx------@ 2 lukas staff 64 26 May 14:16 _locks\ndrwx------ 13 lukas staff 416 27 May 09:41 _logs\n-rw-r--r--@ 1 lukas staff 0 22 May 10:23 _update-notifier-last-checked\n-rw-r--r-- 1 lukas staff 173 26 May 14:16 anonymous-cli-metrics.json\n-rw-r--r-- 1 lukas staff 4764 31 Jan 2024 eresolve-report.txt\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.npm $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.349\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-27T09:43:03.338936Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-27T09:43:03.963987Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-27T09:43:03.965444Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-27T09:43:03.965946Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-27T09:43:03.984517Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-27T09:43:03.984643Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-27T09:43:04.401330Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-27T09:43:04.401436Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-27T09:43:04.401343Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-27T09:43:04.401522Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-27T09:43:04.401634Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-27T09:43:04.404307Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-27T09:43:04.404589Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-27T09:43:04.405053Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-27T09:43:04.405146Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-27T09:43:04.405225Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-27T09:43:04.405301Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-27T09:43:04.405315Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-27T09:43:04.408698Z INFO screenpipe: starting UI event capture\n2026-05-27T09:43:04.407787Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-05-27T09:43:04.415575Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-27T09:43:04.417716Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-27T09:43:04.443805Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-27T09:43:04.444668Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:43:04.444693Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:43:04.444875Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-27T09:43:04.444989Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-26 06:43:04.444987 UTC to 2026-05-27 06:43:04.444987 UTC)\n2026-05-27T09:43:04.445273Z INFO screenpipe_engine::ui_recorder: UI recording session started: d58b18b9-c318-4368-b491-d69932695fc2\n2026-05-27T09:43:04.450983Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-27T09:43:04.455227Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-27T09:43:04.471607Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-27T09:43:05.069681Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-27T09:43:05.069810Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-27T09:43:05.069855Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-27T09:43:05.324376Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-27T09:43:05.324428Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-27T09:43:05.324441Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-27T09:43:05.324448Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-27T09:43:05.324498Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-27T09:43:05.687658Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=2230 elapsed=1.241344125s\n2026-05-27T09:43:05.695821Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 2230 frame entries, coverage from 2026-05-26 06:43:04.444987 UTC\n2026-05-27T09:43:05.992936Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-27T09:43:06.266870Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.09424867,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (docker)","depth":2,"bounds":{"left":0.3645279,"top":1.0,"width":0.09424867,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.3665226,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.4587766,"top":1.0,"width":0.094082445,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.46077126,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.55285907,"top":1.0,"width":0.094082445,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.55485374,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.6469415,"top":1.0,"width":0.094082445,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.64893615,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4956782,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-3987525325390920673
|
2643140205174748608
|
manual
|
accessibility
|
NULL
|
ggml_metal_init: use concurrency = true
ggml_me ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0
2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0
2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0
2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0
2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0
2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0
2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0
2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0
2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0
2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0
2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0
2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0
2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369
2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)
2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371
2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)
2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372
2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0
2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0
2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0
2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0
2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0
2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)
2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)
2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0
2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0
2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0
2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0
2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0
2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0
2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)
2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0
2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0
2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0
2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0
2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0
2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2
2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0
2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0
2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0
2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0
2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0
2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0
2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0
2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)
2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0
2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)
2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0
2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0
2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0
2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0
2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0
2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0
2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0
2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416
2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0
2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0
2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0
2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames
2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424
2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0
2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428
2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0
2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted
2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0
2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0
2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436
2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0
2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)
2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436
2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0
2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 11.9MB → 3.1MB (3.8x), 92 JPEGs deleted
2026-05-26T21:01:39.098787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73440 paired=1 still_pending=0
2026-05-26T21:01:39.816943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73442 paired=1 still_pending=0
2026-05-26T21:01:41.385329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=434 row_id=74525 frame_id=73444
2026-05-26T21:01:42.354871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73446 paired=1 still_pending=0
2026-05-26T21:01:45.574125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73448 paired=1 still_pending=0
2026-05-26T21:01:46.034928Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73450 paired=1 still_pending=0
2026-05-26T21:01:46.817376Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=438 row_id=74529 frame_id=73452
2026-05-26T21:01:48.501614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73454 paired=2 still_pending=0
2026-05-26T21:01:48.978787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=441 row_id=74532 frame_id=73456
2026-05-26T21:01:50.300896Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73458 paired=1 still_pending=0
2026-05-26T21:01:53.267672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73459 paired=1 still_pending=0
2026-05-26T21:01:54.767924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73460 paired=1 still_pending=0
2026-05-26T21:01:56.067956Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73462 paired=1 still_pending=0
2026-05-26T21:01:56.889728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73464 paired=1 still_pending=0
2026-05-26T21:01:58.623225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=447 row_id=74538 frame_id=73466
2026-05-26T21:01:59.218115Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73468 paired=1 still_pending=0
2026-05-26T21:02:00.851021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=449 row_id=74540 frame_id=73470
2026-05-26T21:02:01.998305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73472 paired=1 still_pending=0
2026-05-26T21:02:04.347288Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=31 total_pairs=441 total_evicted=336 total_failed=0
2026-05-26T21:02:04.347471Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73474 paired=1 still_pending=0
2026-05-26T21:02:06.105871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73476 paired=1 still_pending=0
2026-05-26T21:02:12.109467Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=32 total_pairs=443 total_evicted=337 total_failed=0
2026-05-26T21:02:12.109773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73478 paired=1 still_pending=0
2026-05-26T21:02:14.341353Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=454 row_id=74546 frame_id=73480
2026-05-26T21:02:17.040017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=455 row_id=74548 frame_id=73481
2026-05-26T21:02:17.044798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=456 row_id=74550 frame_id=73480
2026-05-26T21:02:26.323751Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=8 pending_events=0 pending_frames=28 total_pairs=447 total_evicted=345 total_failed=0
2026-05-26T21:02:26.323968Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73483 paired=1 still_pending=0
2026-05-26T21:02:29.672094Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:02:35.040585Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=1 pending_frames=22 total_pairs=448 total_evicted=352 total_failed=0
2026-05-26T21:02:35.040671Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73487 paired=1 still_pending=0
2026-05-26T21:02:36.829794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73489 paired=2 still_pending=0
2026-05-26T21:02:39.266195Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=23 total_pairs=451 total_evicted=353 total_failed=0
2026-05-26T21:02:39.266348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73492 paired=1 still_pending=0
2026-05-26T21:02:40.641223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73493 paired=1 still_pending=0
2026-05-26T21:02:41.341466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73495 paired=1 still_pending=0
2026-05-26T21:02:42.388106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=464 row_id=74558 frame_id=73497
2026-05-26T21:02:42.449887Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=23 total_pairs=455 total_evicted=356 total_failed=0
2026-05-26T21:02:43.857876Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=465 row_id=74559 frame_id=73499
2026-05-26T21:02:43.859454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73500 paired=1 still_pending=1
2026-05-26T21:02:47.265914Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73502 paired=1 still_pending=0
2026-05-26T21:02:48.361779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=23 total_pairs=458 total_evicted=359 total_failed=0
2026-05-26T21:02:48.361882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73504 paired=1 still_pending=0
2026-05-26T21:02:49.288504Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73506 paired=1 still_pending=0
2026-05-26T21:02:51.020096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73508 paired=1 still_pending=0
2026-05-26T21:02:52.288712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73510 paired=1 still_pending=0
2026-05-26T21:02:52.778480Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=462 total_evicted=361 total_failed=0
2026-05-26T21:02:52.778535Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73512 paired=1 still_pending=0
2026-05-26T21:02:54.840774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73514 paired=2 still_pending=0
2026-05-26T21:02:55.666536Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73516 paired=1 still_pending=0
2026-05-26T21:02:56.821152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=476 row_id=74570 frame_id=73518
2026-05-26T21:03:00.216356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73520 paired=1 still_pending=0
2026-05-26T21:03:00.217676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=25 total_pairs=468 total_evicted=366 total_failed=0
2026-05-26T21:03:03.895290Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=468 total_evicted=368 total_failed=0
2026-05-26T21:03:03.895422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73522 paired=1 still_pending=0
2026-05-26T21:03:07.106232Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73524 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T21:03:08.960210Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 6 orphaned chunks
2026-05-26T21:03:08.961568Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=470 total_evicted=370 total_failed=0
2026-05-26T21:03:08.961611Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73526 paired=1 still_pending=0
2026-05-26T21:03:10.793001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73528 paired=1 still_pending=0
2026-05-26T21:03:12.906147Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=24 total_pairs=472 total_evicted=371 total_failed=0
2026-05-26T21:03:12.906273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73530 paired=1 still_pending=0
2026-05-26T21:03:15.230969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73532 paired=1 still_pending=0
2026-05-26T21:03:16.055774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73534 paired=1 still_pending=0
2026-05-26T21:03:18.146639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=485 row_id=74579 frame_id=73536
2026-05-26T21:03:18.152425Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=476 total_evicted=373 total_failed=0
2026-05-26T21:03:20.509544Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=486 row_id=74581 frame_id=73538
2026-05-26T21:03:22.786519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73540 paired=1 still_pending=0
2026-05-26T21:03:24.377722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=488 row_id=74584 frame_id=73541
2026-05-26T21:03:27.448734Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=28 total_pairs=479 total_evicted=374 total_failed=0
2026-05-26T21:03:32.066738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=489 row_id=74588 frame_id=73544
2026-05-26T21:03:33.180323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=490 row_id=74590 frame_id=73546
2026-05-26T21:03:36.061033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73546 paired=1 still_pending=0
2026-05-26T21:03:41.904100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73547 paired=1 still_pending=0
2026-05-26T21:03:41.905403Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=26 total_pairs=483 total_evicted=378 total_failed=0
2026-05-26T21:04:00.181150Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:04:13.113524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73550 paired=1 still_pending=0
2026-05-26T21:04:13.116810Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=18 pending_events=0 pending_frames=10 total_pairs=484 total_evicted=396 total_failed=0
2026-05-26T21:04:20.198770Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=7 total_pairs=484 total_evicted=399 total_failed=0
2026-05-26T21:04:20.199028Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73555 paired=1 still_pending=0
2026-05-26T21:04:20.360514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643362899810751552, trigger=click)
2026-05-26T21:04:31.815187Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=5 total_pairs=485 total_evicted=402 total_failed=0
2026-05-26T21:04:31.815348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73556 paired=1 still_pending=0
2026-05-26T21:04:35.047362Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=4 total_pairs=486 total_evicted=404 total_failed=0
2026-05-26T21:04:35.047526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73560 paired=1 still_pending=0
2026-05-26T21:04:35.190069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3396646416531305755, trigger=click)
2026-05-26T21:04:35.881837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73561 paired=1 still_pending=0
2026-05-26T21:04:39.664639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=498 row_id=74599 frame_id=73564
2026-05-26T21:04:40.914816Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73567 paired=1 still_pending=0
2026-05-26T21:04:42.198029Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73569 paired=1 still_pending=0
2026-05-26T21:04:42.342866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3577559571019619452, trigger=click)
2026-05-26T21:04:45.614868Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=491 total_evicted=405 total_failed=0
2026-05-26T21:04:45.615182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73570 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_in...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
73585
|
2628
|
1
|
2026-05-27T06:43:05.571490+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-27/1779 /Users/lukas/.screenpipe/data/data/2026-05-27/1779864185571_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_backend_init: using BLAS backend
whisper_i whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0
2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0
2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0
2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0
2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0
2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0
2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0
2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0
2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0
2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0
2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0
2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0
2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369
2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)
2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371
2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)
2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372
2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0
2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0
2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0
2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0
2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0
2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)
2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)
2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0
2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0
2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0
2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0
2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0
2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0
2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)
2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0
2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0
2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0
2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0
2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0
2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2
2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0
2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0
2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0
2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0
2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0
2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0
2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0
2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)
2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0
2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)
2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0
2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0
2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0
2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0
2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0
2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0
2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0
2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416
2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0
2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0
2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0
2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames
2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424
2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0
2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428
2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0
2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted
2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0
2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0
2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436
2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0
2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)
2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436
2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0
2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 11.9MB → 3.1MB (3.8x), 92 JPEGs deleted
2026-05-26T21:01:39.098787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73440 paired=1 still_pending=0
2026-05-26T21:01:39.816943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73442 paired=1 still_pending=0
2026-05-26T21:01:41.385329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=434 row_id=74525 frame_id=73444
2026-05-26T21:01:42.354871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73446 paired=1 still_pending=0
2026-05-26T21:01:45.574125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73448 paired=1 still_pending=0
2026-05-26T21:01:46.034928Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73450 paired=1 still_pending=0
2026-05-26T21:01:46.817376Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=438 row_id=74529 frame_id=73452
2026-05-26T21:01:48.501614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73454 paired=2 still_pending=0
2026-05-26T21:01:48.978787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=441 row_id=74532 frame_id=73456
2026-05-26T21:01:50.300896Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73458 paired=1 still_pending=0
2026-05-26T21:01:53.267672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73459 paired=1 still_pending=0
2026-05-26T21:01:54.767924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73460 paired=1 still_pending=0
2026-05-26T21:01:56.067956Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73462 paired=1 still_pending=0
2026-05-26T21:01:56.889728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73464 paired=1 still_pending=0
2026-05-26T21:01:58.623225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=447 row_id=74538 frame_id=73466
2026-05-26T21:01:59.218115Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73468 paired=1 still_pending=0
2026-05-26T21:02:00.851021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=449 row_id=74540 frame_id=73470
2026-05-26T21:02:01.998305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73472 paired=1 still_pending=0
2026-05-26T21:02:04.347288Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=31 total_pairs=441 total_evicted=336 total_failed=0
2026-05-26T21:02:04.347471Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73474 paired=1 still_pending=0
2026-05-26T21:02:06.105871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73476 paired=1 still_pending=0
2026-05-26T21:02:12.109467Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=32 total_pairs=443 total_evicted=337 total_failed=0
2026-05-26T21:02:12.109773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73478 paired=1 still_pending=0
2026-05-26T21:02:14.341353Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=454 row_id=74546 frame_id=73480
2026-05-26T21:02:17.040017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=455 row_id=74548 frame_id=73481
2026-05-26T21:02:17.044798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=456 row_id=74550 frame_id=73480
2026-05-26T21:02:26.323751Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=8 pending_events=0 pending_frames=28 total_pairs=447 total_evicted=345 total_failed=0
2026-05-26T21:02:26.323968Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73483 paired=1 still_pending=0
2026-05-26T21:02:29.672094Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:02:35.040585Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=1 pending_frames=22 total_pairs=448 total_evicted=352 total_failed=0
2026-05-26T21:02:35.040671Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73487 paired=1 still_pending=0
2026-05-26T21:02:36.829794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73489 paired=2 still_pending=0
2026-05-26T21:02:39.266195Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=23 total_pairs=451 total_evicted=353 total_failed=0
2026-05-26T21:02:39.266348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73492 paired=1 still_pending=0
2026-05-26T21:02:40.641223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73493 paired=1 still_pending=0
2026-05-26T21:02:41.341466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73495 paired=1 still_pending=0
2026-05-26T21:02:42.388106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=464 row_id=74558 frame_id=73497
2026-05-26T21:02:42.449887Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=23 total_pairs=455 total_evicted=356 total_failed=0
2026-05-26T21:02:43.857876Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=465 row_id=74559 frame_id=73499
2026-05-26T21:02:43.859454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73500 paired=1 still_pending=1
2026-05-26T21:02:47.265914Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73502 paired=1 still_pending=0
2026-05-26T21:02:48.361779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=23 total_pairs=458 total_evicted=359 total_failed=0
2026-05-26T21:02:48.361882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73504 paired=1 still_pending=0
2026-05-26T21:02:49.288504Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73506 paired=1 still_pending=0
2026-05-26T21:02:51.020096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73508 paired=1 still_pending=0
2026-05-26T21:02:52.288712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73510 paired=1 still_pending=0
2026-05-26T21:02:52.778480Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=462 total_evicted=361 total_failed=0
2026-05-26T21:02:52.778535Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73512 paired=1 still_pending=0
2026-05-26T21:02:54.840774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73514 paired=2 still_pending=0
2026-05-26T21:02:55.666536Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73516 paired=1 still_pending=0
2026-05-26T21:02:56.821152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=476 row_id=74570 frame_id=73518
2026-05-26T21:03:00.216356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73520 paired=1 still_pending=0
2026-05-26T21:03:00.217676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=25 total_pairs=468 total_evicted=366 total_failed=0
2026-05-26T21:03:03.895290Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=468 total_evicted=368 total_failed=0
2026-05-26T21:03:03.895422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73522 paired=1 still_pending=0
2026-05-26T21:03:07.106232Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73524 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T21:03:08.960210Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 6 orphaned chunks
2026-05-26T21:03:08.961568Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=470 total_evicted=370 total_failed=0
2026-05-26T21:03:08.961611Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73526 paired=1 still_pending=0
2026-05-26T21:03:10.793001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73528 paired=1 still_pending=0
2026-05-26T21:03:12.906147Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=24 total_pairs=472 total_evicted=371 total_failed=0
2026-05-26T21:03:12.906273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73530 paired=1 still_pending=0
2026-05-26T21:03:15.230969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73532 paired=1 still_pending=0
2026-05-26T21:03:16.055774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73534 paired=1 still_pending=0
2026-05-26T21:03:18.146639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=485 row_id=74579 frame_id=73536
2026-05-26T21:03:18.152425Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=476 total_evicted=373 total_failed=0
2026-05-26T21:03:20.509544Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=486 row_id=74581 frame_id=73538
2026-05-26T21:03:22.786519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73540 paired=1 still_pending=0
2026-05-26T21:03:24.377722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=488 row_id=74584 frame_id=73541
2026-05-26T21:03:27.448734Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=28 total_pairs=479 total_evicted=374 total_failed=0
2026-05-26T21:03:32.066738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=489 row_id=74588 frame_id=73544
2026-05-26T21:03:33.180323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=490 row_id=74590 frame_id=73546
2026-05-26T21:03:36.061033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73546 paired=1 still_pending=0
2026-05-26T21:03:41.904100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73547 paired=1 still_pending=0
2026-05-26T21:03:41.905403Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=26 total_pairs=483 total_evicted=378 total_failed=0
2026-05-26T21:04:00.181150Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:04:13.113524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73550 paired=1 still_pending=0
2026-05-26T21:04:13.116810Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=18 pending_events=0 pending_frames=10 total_pairs=484 total_evicted=396 total_failed=0
2026-05-26T21:04:20.198770Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=7 total_pairs=484 total_evicted=399 total_failed=0
2026-05-26T21:04:20.199028Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73555 paired=1 still_pending=0
2026-05-26T21:04:20.360514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643362899810751552, trigger=click)
2026-05-26T21:04:31.815187Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=5 total_pairs=485 total_evicted=402 total_failed=0
2026-05-26T21:04:31.815348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73556 paired=1 still_pending=0
2026-05-26T21:04:35.047362Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=4 total_pairs=486 total_evicted=404 total_failed=0
2026-05-26T21:04:35.047526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73560 paired=1 still_pending=0
2026-05-26T21:04:35.190069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3396646416531305755, trigger=click)
2026-05-26T21:04:35.881837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73561 paired=1 still_pending=0
2026-05-26T21:04:39.664639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=498 row_id=74599 frame_id=73564
2026-05-26T21:04:40.914816Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73567 paired=1 still_pending=0
2026-05-26T21:04:42.198029Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73569 paired=1 still_pending=0
2026-05-26T21:04:42.342866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3577559571019619452, trigger=click)
2026-05-26T21:04:45.614868Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=491 total_evicted=405 total_failed=0
2026-05-26T21:04:45.615182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73570 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backe...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0\n2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0\n2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0\n2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0\n2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0\n2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0\n2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0\n2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0\n2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0\n2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0\n2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0\n2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0\n2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369\n2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)\n2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371\n2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)\n2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372\n2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0\n2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0\n2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0\n2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0\n2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0\n2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)\n2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)\n2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0\n2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0\n2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0\n2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0\n2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0\n2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0\n2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)\n2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0\n2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0\n2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0\n2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0\n2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0\n2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2\n2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0\n2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0\n2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0\n2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0\n2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0\n2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0\n2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0\n2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)\n2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0\n2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)\n2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0\n2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0\n2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0\n2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0\n2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0\n2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0\n2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0\n2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416\n2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0\n2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0\n2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0\n2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames\n2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424\n2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0\n2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428\n2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0\n2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted\n2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0\n2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0\n2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436\n2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0\n2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)\n2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436\n2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0\n2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 11.9MB → 3.1MB (3.8x), 92 JPEGs deleted\n2026-05-26T21:01:39.098787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73440 paired=1 still_pending=0\n2026-05-26T21:01:39.816943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73442 paired=1 still_pending=0\n2026-05-26T21:01:41.385329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=434 row_id=74525 frame_id=73444\n2026-05-26T21:01:42.354871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73446 paired=1 still_pending=0\n2026-05-26T21:01:45.574125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73448 paired=1 still_pending=0\n2026-05-26T21:01:46.034928Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73450 paired=1 still_pending=0\n2026-05-26T21:01:46.817376Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=438 row_id=74529 frame_id=73452\n2026-05-26T21:01:48.501614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73454 paired=2 still_pending=0\n2026-05-26T21:01:48.978787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=441 row_id=74532 frame_id=73456\n2026-05-26T21:01:50.300896Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73458 paired=1 still_pending=0\n2026-05-26T21:01:53.267672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73459 paired=1 still_pending=0\n2026-05-26T21:01:54.767924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73460 paired=1 still_pending=0\n2026-05-26T21:01:56.067956Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73462 paired=1 still_pending=0\n2026-05-26T21:01:56.889728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73464 paired=1 still_pending=0\n2026-05-26T21:01:58.623225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=447 row_id=74538 frame_id=73466\n2026-05-26T21:01:59.218115Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73468 paired=1 still_pending=0\n2026-05-26T21:02:00.851021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=449 row_id=74540 frame_id=73470\n2026-05-26T21:02:01.998305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73472 paired=1 still_pending=0\n2026-05-26T21:02:04.347288Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=31 total_pairs=441 total_evicted=336 total_failed=0\n2026-05-26T21:02:04.347471Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73474 paired=1 still_pending=0\n2026-05-26T21:02:06.105871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73476 paired=1 still_pending=0\n2026-05-26T21:02:12.109467Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=32 total_pairs=443 total_evicted=337 total_failed=0\n2026-05-26T21:02:12.109773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73478 paired=1 still_pending=0\n2026-05-26T21:02:14.341353Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=454 row_id=74546 frame_id=73480\n2026-05-26T21:02:17.040017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=455 row_id=74548 frame_id=73481\n2026-05-26T21:02:17.044798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=456 row_id=74550 frame_id=73480\n2026-05-26T21:02:26.323751Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=8 pending_events=0 pending_frames=28 total_pairs=447 total_evicted=345 total_failed=0\n2026-05-26T21:02:26.323968Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73483 paired=1 still_pending=0\n2026-05-26T21:02:29.672094Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:02:35.040585Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=1 pending_frames=22 total_pairs=448 total_evicted=352 total_failed=0\n2026-05-26T21:02:35.040671Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73487 paired=1 still_pending=0\n2026-05-26T21:02:36.829794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73489 paired=2 still_pending=0\n2026-05-26T21:02:39.266195Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=23 total_pairs=451 total_evicted=353 total_failed=0\n2026-05-26T21:02:39.266348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73492 paired=1 still_pending=0\n2026-05-26T21:02:40.641223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73493 paired=1 still_pending=0\n2026-05-26T21:02:41.341466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73495 paired=1 still_pending=0\n2026-05-26T21:02:42.388106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=464 row_id=74558 frame_id=73497\n2026-05-26T21:02:42.449887Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=23 total_pairs=455 total_evicted=356 total_failed=0\n2026-05-26T21:02:43.857876Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=465 row_id=74559 frame_id=73499\n2026-05-26T21:02:43.859454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73500 paired=1 still_pending=1\n2026-05-26T21:02:47.265914Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73502 paired=1 still_pending=0\n2026-05-26T21:02:48.361779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=23 total_pairs=458 total_evicted=359 total_failed=0\n2026-05-26T21:02:48.361882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73504 paired=1 still_pending=0\n2026-05-26T21:02:49.288504Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73506 paired=1 still_pending=0\n2026-05-26T21:02:51.020096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73508 paired=1 still_pending=0\n2026-05-26T21:02:52.288712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73510 paired=1 still_pending=0\n2026-05-26T21:02:52.778480Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=462 total_evicted=361 total_failed=0\n2026-05-26T21:02:52.778535Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73512 paired=1 still_pending=0\n2026-05-26T21:02:54.840774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73514 paired=2 still_pending=0\n2026-05-26T21:02:55.666536Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73516 paired=1 still_pending=0\n2026-05-26T21:02:56.821152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=476 row_id=74570 frame_id=73518\n2026-05-26T21:03:00.216356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73520 paired=1 still_pending=0\n2026-05-26T21:03:00.217676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=25 total_pairs=468 total_evicted=366 total_failed=0\n2026-05-26T21:03:03.895290Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=468 total_evicted=368 total_failed=0\n2026-05-26T21:03:03.895422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73522 paired=1 still_pending=0\n2026-05-26T21:03:07.106232Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73524 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:03:08.960210Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 6 orphaned chunks\n2026-05-26T21:03:08.961568Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=470 total_evicted=370 total_failed=0\n2026-05-26T21:03:08.961611Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73526 paired=1 still_pending=0\n2026-05-26T21:03:10.793001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73528 paired=1 still_pending=0\n2026-05-26T21:03:12.906147Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=24 total_pairs=472 total_evicted=371 total_failed=0\n2026-05-26T21:03:12.906273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73530 paired=1 still_pending=0\n2026-05-26T21:03:15.230969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73532 paired=1 still_pending=0\n2026-05-26T21:03:16.055774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73534 paired=1 still_pending=0\n2026-05-26T21:03:18.146639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=485 row_id=74579 frame_id=73536\n2026-05-26T21:03:18.152425Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=476 total_evicted=373 total_failed=0\n2026-05-26T21:03:20.509544Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=486 row_id=74581 frame_id=73538\n2026-05-26T21:03:22.786519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73540 paired=1 still_pending=0\n2026-05-26T21:03:24.377722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=488 row_id=74584 frame_id=73541\n2026-05-26T21:03:27.448734Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=28 total_pairs=479 total_evicted=374 total_failed=0\n2026-05-26T21:03:32.066738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=489 row_id=74588 frame_id=73544\n2026-05-26T21:03:33.180323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=490 row_id=74590 frame_id=73546\n2026-05-26T21:03:36.061033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73546 paired=1 still_pending=0\n2026-05-26T21:03:41.904100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73547 paired=1 still_pending=0\n2026-05-26T21:03:41.905403Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=26 total_pairs=483 total_evicted=378 total_failed=0\n2026-05-26T21:04:00.181150Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:04:13.113524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73550 paired=1 still_pending=0\n2026-05-26T21:04:13.116810Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=18 pending_events=0 pending_frames=10 total_pairs=484 total_evicted=396 total_failed=0\n2026-05-26T21:04:20.198770Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=7 total_pairs=484 total_evicted=399 total_failed=0\n2026-05-26T21:04:20.199028Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73555 paired=1 still_pending=0\n2026-05-26T21:04:20.360514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643362899810751552, trigger=click)\n2026-05-26T21:04:31.815187Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=5 total_pairs=485 total_evicted=402 total_failed=0\n2026-05-26T21:04:31.815348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73556 paired=1 still_pending=0\n2026-05-26T21:04:35.047362Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=4 total_pairs=486 total_evicted=404 total_failed=0\n2026-05-26T21:04:35.047526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73560 paired=1 still_pending=0\n2026-05-26T21:04:35.190069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3396646416531305755, trigger=click)\n2026-05-26T21:04:35.881837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73561 paired=1 still_pending=0\n2026-05-26T21:04:39.664639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=498 row_id=74599 frame_id=73564\n2026-05-26T21:04:40.914816Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73567 paired=1 still_pending=0\n2026-05-26T21:04:42.198029Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73569 paired=1 still_pending=0\n2026-05-26T21:04:42.342866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3577559571019619452, trigger=click)\n2026-05-26T21:04:45.614868Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=491 total_evicted=405 total_failed=0\n2026-05-26T21:04:45.615182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73570 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:05:09.718659Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 7 orphaned chunks\n2026-05-26T21:05:15.332544Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=492 total_evicted=406 total_failed=0\n2026-05-26T21:05:15.332747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73573 paired=1 still_pending=0\n2026-05-26T21:05:15.340779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73574 paired=1 still_pending=1\n2026-05-26T21:05:20.507053Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=8 total_pairs=494 total_evicted=407 total_failed=0\n2026-05-26T21:05:20.507489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73577 paired=1 still_pending=0\n2026-05-26T21:05:20.870902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73579 paired=1 still_pending=0\n2026-05-26T21:05:24.171609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6428445175211390380, trigger=visual_change)\n^C2026-05-26T21:05:25.159446Z INFO screenpipe: received ctrl+c, initiating shutdown\n2026-05-26T21:05:25.160130Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-26T21:05:25.160329Z INFO screenpipe_audio::device::device_manager: Stopping device: System Audio (output)\n2026-05-26T21:05:25.187809Z INFO screenpipe_audio::audio_manager::manager: audio manager stopped\n2026-05-26T21:05:25.187869Z INFO screenpipe: stopping UI event capture\n2026-05-26T21:05:25.187920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker shutting down\n2026-05-26T21:05:25.187943Z INFO screenpipe_engine::meeting_detector: meeting v2: shutdown received, exiting detection loop\n2026-05-26T21:05:25.188071Z INFO screenpipe: received shutdown signal for VisionManager\n2026-05-26T21:05:25.188239Z INFO screenpipe_engine::vision_manager::manager: Shutting down VisionManager\n2026-05-26T21:05:25.188247Z INFO screenpipe_engine::vision_manager::manager: Stopping VisionManager\n2026-05-26T21:05:25.188371Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-05-26T21:05:25.189841Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-05-26T21:05:25.204118Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-05-26T21:05:25.314845Z INFO screenpipe_engine::ui_recorder: UI recording session ended: e77d1c43-6f9b-4fee-83e7-1833090386ff\n2026-05-26T21:05:25.317184Z INFO screenpipe: shutdown complete\nggml_metal_free: deallocating\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.349\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-27T09:41:47.730996Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-27T09:41:48.556778Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-27T09:41:48.558315Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-27T09:41:48.558724Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-27T09:41:48.580959Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-27T09:41:48.581058Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-27T09:41:48.989176Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-27T09:41:48.989233Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-27T09:41:48.989162Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-27T09:41:48.989198Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-27T09:41:48.989373Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-27T09:41:48.995792Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-27T09:41:48.996025Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-27T09:41:48.996235Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-27T09:41:48.996716Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-27T09:41:48.996800Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-27T09:41:48.996945Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-27T09:41:48.996965Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n2026-05-27T09:41:48.998013Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-27T09:41:48.998849Z INFO screenpipe: starting UI event capture\n2026-05-27T09:41:49.005581Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-27T09:41:49.007568Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-27T09:41:49.034460Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-27T09:41:49.034839Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:41:49.034856Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:41:49.035064Z INFO screenpipe_engine::ui_recorder: UI recording session started: 381ef504-7990-4cff-a16f-84cb865cbf39\n2026-05-27T09:41:49.035080Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-27T09:41:49.035136Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-26 06:41:49.035135 UTC to 2026-05-27 06:41:49.035135 UTC)\n2026-05-27T09:41:49.041123Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-27T09:41:49.044701Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-27T09:41:49.064043Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-27T09:41:49.629950Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-27T09:41:49.629997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-27T09:41:49.630032Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-27T09:41:49.862246Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-27T09:41:49.862278Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-27T09:41:49.862289Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-27T09:41:49.862296Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-27T09:41:49.862329Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-27T09:41:50.263760Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=2254 elapsed=1.227906875s\n2026-05-27T09:41:50.271042Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 2254 frame entries, coverage from 2026-05-26 06:41:49.035135 UTC\n2026-05-27T09:41:50.531848Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-27T09:41:50.668360Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=73582, dur=78ms\n2026-05-27T09:41:50.802020Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-27T09:41:50.909566Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=73583, dur=73ms\n2026-05-27T09:41:50.910986Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n^C2026-05-27T09:41:50.940100Z INFO screenpipe: received ctrl+c, initiating shutdown\n2026-05-27T09:41:50.940195Z INFO screenpipe: stopping UI event capture\n2026-05-27T09:41:50.940237Z INFO screenpipe_engine::meeting_detector: meeting v2: shutdown received, exiting detection loop\n2026-05-27T09:41:50.940306Z INFO screenpipe: received shutdown signal for VisionManager\n2026-05-27T09:41:50.940321Z INFO screenpipe_engine::vision_manager::manager: Shutting down VisionManager\n2026-05-27T09:41:50.940326Z INFO screenpipe_engine::vision_manager::manager: Stopping VisionManager\n2026-05-27T09:41:50.940333Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-05-27T09:41:50.940400Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-05-27T09:41:50.942626Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-27T09:41:51.085491Z INFO screenpipe_engine::ui_recorder: UI recording session ended: 381ef504-7990-4cff-a16f-84cb865cbf39\n2026-05-27T09:41:51.085667Z INFO screenpipe: shutdown complete\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.npm \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.npm $ ll\ntotal 24\ndrwx------ 9 lukas staff 288 26 May 14:16 .\ndrwx------+ 96 lukas staff 3072 26 May 20:55 ..\ndrwx------ 5 lukas staff 160 1 Nov 2021 _cacache\ndrwx------@ 2 lukas staff 64 26 May 14:16 _locks\ndrwx------ 13 lukas staff 416 27 May 09:41 _logs\ndrwxr-xr-x 24 lukas staff 768 26 May 14:16 _npx\n-rw-r--r--@ 1 lukas staff 0 22 May 10:23 _update-notifier-last-checked\n-rw-r--r-- 1 lukas staff 173 26 May 14:16 anonymous-cli-metrics.json\n-rw-r--r-- 1 lukas staff 4764 31 Jan 2024 eresolve-report.txt\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.npm $ rm -rf _npx \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.npm $ ll\ntotal 24\ndrwx------ 8 lukas staff 256 27 May 09:42 .\ndrwx------+ 96 lukas staff 3072 26 May 20:55 ..\ndrwx------ 5 lukas staff 160 1 Nov 2021 _cacache\ndrwx------@ 2 lukas staff 64 26 May 14:16 _locks\ndrwx------ 13 lukas staff 416 27 May 09:41 _logs\n-rw-r--r--@ 1 lukas staff 0 22 May 10:23 _update-notifier-last-checked\n-rw-r--r-- 1 lukas staff 173 26 May 14:16 anonymous-cli-metrics.json\n-rw-r--r-- 1 lukas staff 4764 31 Jan 2024 eresolve-report.txt\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.npm $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.349\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-27T09:43:03.338936Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-27T09:43:03.963987Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-27T09:43:03.965444Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-27T09:43:03.965946Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-27T09:43:03.984517Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-27T09:43:03.984643Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-27T09:43:04.401330Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-27T09:43:04.401436Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-27T09:43:04.401343Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-27T09:43:04.401522Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-27T09:43:04.401634Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-27T09:43:04.404307Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-27T09:43:04.404589Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-27T09:43:04.405053Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-27T09:43:04.405146Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-27T09:43:04.405225Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-27T09:43:04.405301Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-27T09:43:04.405315Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-27T09:43:04.408698Z INFO screenpipe: starting UI event capture\n2026-05-27T09:43:04.407787Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-05-27T09:43:04.415575Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-27T09:43:04.417716Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-27T09:43:04.443805Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-27T09:43:04.444668Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:43:04.444693Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:43:04.444875Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-27T09:43:04.444989Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-26 06:43:04.444987 UTC to 2026-05-27 06:43:04.444987 UTC)\n2026-05-27T09:43:04.445273Z INFO screenpipe_engine::ui_recorder: UI recording session started: d58b18b9-c318-4368-b491-d69932695fc2\n2026-05-27T09:43:04.450983Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-27T09:43:04.455227Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-27T09:43:04.471607Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-27T09:43:05.069681Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-27T09:43:05.069810Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-27T09:43:05.069855Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-27T09:43:05.324376Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-27T09:43:05.324428Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-27T09:43:05.324441Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-27T09:43:05.324448Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-27T09:43:05.324498Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-27T09:43:05.687658Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=2230 elapsed=1.241344125s\n2026-05-27T09:43:05.695821Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 2230 frame entries, coverage from 2026-05-26 06:43:04.444987 UTC\n2026-05-27T09:43:05.992936Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-27T09:43:06.266870Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-27T09:43:06.402051Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=73584, dur=73ms\n2026-05-27T09:43:06.403826Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2","depth":4,"on_screen":true,"value":"whisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0\n2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0\n2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0\n2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0\n2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0\n2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0\n2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0\n2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0\n2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0\n2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0\n2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0\n2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0\n2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)\n2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369\n2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)\n2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371\n2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)\n2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372\n2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0\n2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0\n2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0\n2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0\n2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0\n2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)\n2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)\n2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0\n2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0\n2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0\n2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0\n2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0\n2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0\n2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)\n2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0\n2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0\n2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0\n2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0\n2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0\n2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2\n2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0\n2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0\n2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0\n2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0\n2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0\n2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0\n2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0\n2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)\n2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0\n2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)\n2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0\n2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0\n2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0\n2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0\n2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0\n2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0\n2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0\n2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0\n2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416\n2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0\n2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0\n2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0\n2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames\n2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424\n2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0\n2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428\n2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0\n2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted\n2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0\n2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0\n2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436\n2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0\n2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)\n2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436\n2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0\n2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 11.9MB → 3.1MB (3.8x), 92 JPEGs deleted\n2026-05-26T21:01:39.098787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73440 paired=1 still_pending=0\n2026-05-26T21:01:39.816943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73442 paired=1 still_pending=0\n2026-05-26T21:01:41.385329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=434 row_id=74525 frame_id=73444\n2026-05-26T21:01:42.354871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73446 paired=1 still_pending=0\n2026-05-26T21:01:45.574125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73448 paired=1 still_pending=0\n2026-05-26T21:01:46.034928Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73450 paired=1 still_pending=0\n2026-05-26T21:01:46.817376Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=438 row_id=74529 frame_id=73452\n2026-05-26T21:01:48.501614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73454 paired=2 still_pending=0\n2026-05-26T21:01:48.978787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=441 row_id=74532 frame_id=73456\n2026-05-26T21:01:50.300896Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73458 paired=1 still_pending=0\n2026-05-26T21:01:53.267672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73459 paired=1 still_pending=0\n2026-05-26T21:01:54.767924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73460 paired=1 still_pending=0\n2026-05-26T21:01:56.067956Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73462 paired=1 still_pending=0\n2026-05-26T21:01:56.889728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73464 paired=1 still_pending=0\n2026-05-26T21:01:58.623225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=447 row_id=74538 frame_id=73466\n2026-05-26T21:01:59.218115Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73468 paired=1 still_pending=0\n2026-05-26T21:02:00.851021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=449 row_id=74540 frame_id=73470\n2026-05-26T21:02:01.998305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73472 paired=1 still_pending=0\n2026-05-26T21:02:04.347288Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=31 total_pairs=441 total_evicted=336 total_failed=0\n2026-05-26T21:02:04.347471Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73474 paired=1 still_pending=0\n2026-05-26T21:02:06.105871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73476 paired=1 still_pending=0\n2026-05-26T21:02:12.109467Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=32 total_pairs=443 total_evicted=337 total_failed=0\n2026-05-26T21:02:12.109773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73478 paired=1 still_pending=0\n2026-05-26T21:02:14.341353Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=454 row_id=74546 frame_id=73480\n2026-05-26T21:02:17.040017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=455 row_id=74548 frame_id=73481\n2026-05-26T21:02:17.044798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=456 row_id=74550 frame_id=73480\n2026-05-26T21:02:26.323751Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=8 pending_events=0 pending_frames=28 total_pairs=447 total_evicted=345 total_failed=0\n2026-05-26T21:02:26.323968Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73483 paired=1 still_pending=0\n2026-05-26T21:02:29.672094Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:02:35.040585Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=1 pending_frames=22 total_pairs=448 total_evicted=352 total_failed=0\n2026-05-26T21:02:35.040671Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73487 paired=1 still_pending=0\n2026-05-26T21:02:36.829794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73489 paired=2 still_pending=0\n2026-05-26T21:02:39.266195Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=23 total_pairs=451 total_evicted=353 total_failed=0\n2026-05-26T21:02:39.266348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73492 paired=1 still_pending=0\n2026-05-26T21:02:40.641223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73493 paired=1 still_pending=0\n2026-05-26T21:02:41.341466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73495 paired=1 still_pending=0\n2026-05-26T21:02:42.388106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=464 row_id=74558 frame_id=73497\n2026-05-26T21:02:42.449887Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=23 total_pairs=455 total_evicted=356 total_failed=0\n2026-05-26T21:02:43.857876Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=465 row_id=74559 frame_id=73499\n2026-05-26T21:02:43.859454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73500 paired=1 still_pending=1\n2026-05-26T21:02:47.265914Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73502 paired=1 still_pending=0\n2026-05-26T21:02:48.361779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=23 total_pairs=458 total_evicted=359 total_failed=0\n2026-05-26T21:02:48.361882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73504 paired=1 still_pending=0\n2026-05-26T21:02:49.288504Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73506 paired=1 still_pending=0\n2026-05-26T21:02:51.020096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73508 paired=1 still_pending=0\n2026-05-26T21:02:52.288712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73510 paired=1 still_pending=0\n2026-05-26T21:02:52.778480Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=462 total_evicted=361 total_failed=0\n2026-05-26T21:02:52.778535Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73512 paired=1 still_pending=0\n2026-05-26T21:02:54.840774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73514 paired=2 still_pending=0\n2026-05-26T21:02:55.666536Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73516 paired=1 still_pending=0\n2026-05-26T21:02:56.821152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=476 row_id=74570 frame_id=73518\n2026-05-26T21:03:00.216356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73520 paired=1 still_pending=0\n2026-05-26T21:03:00.217676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=25 total_pairs=468 total_evicted=366 total_failed=0\n2026-05-26T21:03:03.895290Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=468 total_evicted=368 total_failed=0\n2026-05-26T21:03:03.895422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73522 paired=1 still_pending=0\n2026-05-26T21:03:07.106232Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73524 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:03:08.960210Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 6 orphaned chunks\n2026-05-26T21:03:08.961568Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=470 total_evicted=370 total_failed=0\n2026-05-26T21:03:08.961611Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73526 paired=1 still_pending=0\n2026-05-26T21:03:10.793001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73528 paired=1 still_pending=0\n2026-05-26T21:03:12.906147Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=24 total_pairs=472 total_evicted=371 total_failed=0\n2026-05-26T21:03:12.906273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73530 paired=1 still_pending=0\n2026-05-26T21:03:15.230969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73532 paired=1 still_pending=0\n2026-05-26T21:03:16.055774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73534 paired=1 still_pending=0\n2026-05-26T21:03:18.146639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=485 row_id=74579 frame_id=73536\n2026-05-26T21:03:18.152425Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=476 total_evicted=373 total_failed=0\n2026-05-26T21:03:20.509544Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=486 row_id=74581 frame_id=73538\n2026-05-26T21:03:22.786519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73540 paired=1 still_pending=0\n2026-05-26T21:03:24.377722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=488 row_id=74584 frame_id=73541\n2026-05-26T21:03:27.448734Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=28 total_pairs=479 total_evicted=374 total_failed=0\n2026-05-26T21:03:32.066738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=489 row_id=74588 frame_id=73544\n2026-05-26T21:03:33.180323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=490 row_id=74590 frame_id=73546\n2026-05-26T21:03:36.061033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73546 paired=1 still_pending=0\n2026-05-26T21:03:41.904100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73547 paired=1 still_pending=0\n2026-05-26T21:03:41.905403Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=26 total_pairs=483 total_evicted=378 total_failed=0\n2026-05-26T21:04:00.181150Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-26T21:04:13.113524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73550 paired=1 still_pending=0\n2026-05-26T21:04:13.116810Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=18 pending_events=0 pending_frames=10 total_pairs=484 total_evicted=396 total_failed=0\n2026-05-26T21:04:20.198770Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=7 total_pairs=484 total_evicted=399 total_failed=0\n2026-05-26T21:04:20.199028Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73555 paired=1 still_pending=0\n2026-05-26T21:04:20.360514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643362899810751552, trigger=click)\n2026-05-26T21:04:31.815187Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=5 total_pairs=485 total_evicted=402 total_failed=0\n2026-05-26T21:04:31.815348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73556 paired=1 still_pending=0\n2026-05-26T21:04:35.047362Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=4 total_pairs=486 total_evicted=404 total_failed=0\n2026-05-26T21:04:35.047526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73560 paired=1 still_pending=0\n2026-05-26T21:04:35.190069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3396646416531305755, trigger=click)\n2026-05-26T21:04:35.881837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73561 paired=1 still_pending=0\n2026-05-26T21:04:39.664639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=498 row_id=74599 frame_id=73564\n2026-05-26T21:04:40.914816Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73567 paired=1 still_pending=0\n2026-05-26T21:04:42.198029Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73569 paired=1 still_pending=0\n2026-05-26T21:04:42.342866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3577559571019619452, trigger=click)\n2026-05-26T21:04:45.614868Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=491 total_evicted=405 total_failed=0\n2026-05-26T21:04:45.615182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73570 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-26T21:05:09.718659Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 7 orphaned chunks\n2026-05-26T21:05:15.332544Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=492 total_evicted=406 total_failed=0\n2026-05-26T21:05:15.332747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73573 paired=1 still_pending=0\n2026-05-26T21:05:15.340779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73574 paired=1 still_pending=1\n2026-05-26T21:05:20.507053Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=8 total_pairs=494 total_evicted=407 total_failed=0\n2026-05-26T21:05:20.507489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73577 paired=1 still_pending=0\n2026-05-26T21:05:20.870902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73579 paired=1 still_pending=0\n2026-05-26T21:05:24.171609Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6428445175211390380, trigger=visual_change)\n^C2026-05-26T21:05:25.159446Z INFO screenpipe: received ctrl+c, initiating shutdown\n2026-05-26T21:05:25.160130Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-26T21:05:25.160329Z INFO screenpipe_audio::device::device_manager: Stopping device: System Audio (output)\n2026-05-26T21:05:25.187809Z INFO screenpipe_audio::audio_manager::manager: audio manager stopped\n2026-05-26T21:05:25.187869Z INFO screenpipe: stopping UI event capture\n2026-05-26T21:05:25.187920Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker shutting down\n2026-05-26T21:05:25.187943Z INFO screenpipe_engine::meeting_detector: meeting v2: shutdown received, exiting detection loop\n2026-05-26T21:05:25.188071Z INFO screenpipe: received shutdown signal for VisionManager\n2026-05-26T21:05:25.188239Z INFO screenpipe_engine::vision_manager::manager: Shutting down VisionManager\n2026-05-26T21:05:25.188247Z INFO screenpipe_engine::vision_manager::manager: Stopping VisionManager\n2026-05-26T21:05:25.188371Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-05-26T21:05:25.189841Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-05-26T21:05:25.204118Z INFO sck_rs::stream_manager: stopped 2 persistent stream(s)\n2026-05-26T21:05:25.314845Z INFO screenpipe_engine::ui_recorder: UI recording session ended: e77d1c43-6f9b-4fee-83e7-1833090386ff\n2026-05-26T21:05:25.317184Z INFO screenpipe: shutdown complete\nggml_metal_free: deallocating\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.349\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-27T09:41:47.730996Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-27T09:41:48.556778Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-27T09:41:48.558315Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-27T09:41:48.558724Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-27T09:41:48.580959Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-27T09:41:48.581058Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-27T09:41:48.989176Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-27T09:41:48.989233Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-27T09:41:48.989162Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-27T09:41:48.989198Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-27T09:41:48.989373Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-27T09:41:48.995792Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-27T09:41:48.996025Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-27T09:41:48.996235Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-27T09:41:48.996716Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-27T09:41:48.996800Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-27T09:41:48.996945Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-27T09:41:48.996965Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n2026-05-27T09:41:48.998013Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-27T09:41:48.998849Z INFO screenpipe: starting UI event capture\n2026-05-27T09:41:49.005581Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-27T09:41:49.007568Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-27T09:41:49.034460Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-27T09:41:49.034839Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:41:49.034856Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:41:49.035064Z INFO screenpipe_engine::ui_recorder: UI recording session started: 381ef504-7990-4cff-a16f-84cb865cbf39\n2026-05-27T09:41:49.035080Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-27T09:41:49.035136Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-26 06:41:49.035135 UTC to 2026-05-27 06:41:49.035135 UTC)\n2026-05-27T09:41:49.041123Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-27T09:41:49.044701Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-27T09:41:49.064043Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-27T09:41:49.629950Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-27T09:41:49.629997Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-27T09:41:49.630032Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-27T09:41:49.862246Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-27T09:41:49.862278Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-27T09:41:49.862289Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-27T09:41:49.862296Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-27T09:41:49.862329Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-27T09:41:50.263760Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=2254 elapsed=1.227906875s\n2026-05-27T09:41:50.271042Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 2254 frame entries, coverage from 2026-05-26 06:41:49.035135 UTC\n2026-05-27T09:41:50.531848Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-27T09:41:50.668360Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=73582, dur=78ms\n2026-05-27T09:41:50.802020Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-27T09:41:50.909566Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=73583, dur=73ms\n2026-05-27T09:41:50.910986Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n^C2026-05-27T09:41:50.940100Z INFO screenpipe: received ctrl+c, initiating shutdown\n2026-05-27T09:41:50.940195Z INFO screenpipe: stopping UI event capture\n2026-05-27T09:41:50.940237Z INFO screenpipe_engine::meeting_detector: meeting v2: shutdown received, exiting detection loop\n2026-05-27T09:41:50.940306Z INFO screenpipe: received shutdown signal for VisionManager\n2026-05-27T09:41:50.940321Z INFO screenpipe_engine::vision_manager::manager: Shutting down VisionManager\n2026-05-27T09:41:50.940326Z INFO screenpipe_engine::vision_manager::manager: Stopping VisionManager\n2026-05-27T09:41:50.940333Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 1\n2026-05-27T09:41:50.940400Z INFO screenpipe_engine::vision_manager::manager: Stopping vision recording for monitor 2\n2026-05-27T09:41:50.942626Z INFO sck_rs::stream_manager: stopped 1 persistent stream(s)\n2026-05-27T09:41:51.085491Z INFO screenpipe_engine::ui_recorder: UI recording session ended: 381ef504-7990-4cff-a16f-84cb865cbf39\n2026-05-27T09:41:51.085667Z INFO screenpipe: shutdown complete\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ cd ~/.npm \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.npm $ ll\ntotal 24\ndrwx------ 9 lukas staff 288 26 May 14:16 .\ndrwx------+ 96 lukas staff 3072 26 May 20:55 ..\ndrwx------ 5 lukas staff 160 1 Nov 2021 _cacache\ndrwx------@ 2 lukas staff 64 26 May 14:16 _locks\ndrwx------ 13 lukas staff 416 27 May 09:41 _logs\ndrwxr-xr-x 24 lukas staff 768 26 May 14:16 _npx\n-rw-r--r--@ 1 lukas staff 0 22 May 10:23 _update-notifier-last-checked\n-rw-r--r-- 1 lukas staff 173 26 May 14:16 anonymous-cli-metrics.json\n-rw-r--r-- 1 lukas staff 4764 31 Jan 2024 eresolve-report.txt\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.npm $ rm -rf _npx \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.npm $ ll\ntotal 24\ndrwx------ 8 lukas staff 256 27 May 09:42 .\ndrwx------+ 96 lukas staff 3072 26 May 20:55 ..\ndrwx------ 5 lukas staff 160 1 Nov 2021 _cacache\ndrwx------@ 2 lukas staff 64 26 May 14:16 _locks\ndrwx------ 13 lukas staff 416 27 May 09:41 _logs\n-rw-r--r--@ 1 lukas staff 0 22 May 10:23 _update-notifier-last-checked\n-rw-r--r-- 1 lukas staff 173 26 May 14:16 anonymous-cli-metrics.json\n-rw-r--r-- 1 lukas staff 4764 31 Jan 2024 eresolve-report.txt\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.npm $ cd ~/.screenpipe \nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record\nNeed to install the following packages:\nscreenpipe@0.3.349\nOk to proceed? (y) y\n\nchecking permissions...\n screen recording: ok\n microphone: ok\n accessibility: ok\n2026-05-27T09:43:03.338936Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6\n2026-05-27T09:43:03.963987Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor\n2026-05-27T09:43:03.965444Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)\n2026-05-27T09:43:03.965946Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)\n2026-05-27T09:43:03.984517Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true\n2026-05-27T09:43:03.984643Z INFO screenpipe: meeting detector enabled — independent of transcription mode\n2026-05-27T09:43:04.401330Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)\n2026-05-27T09:43:04.401436Z INFO screenpipe: API server listening on 127.0.0.1:3030 (localhost only)\n2026-05-27T09:43:04.401343Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)\n2026-05-27T09:43:04.401522Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager\n2026-05-27T09:43:04.401634Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key\n\n tip: get the desktop app for chat, timeline, and search UI\n → https://screenpi.pe/onboarding\n\n2026-05-27T09:43:04.404307Z INFO screenpipe_core::pipes: loaded pipe: day-recap\n2026-05-27T09:43:04.404589Z INFO screenpipe_core::pipes: loaded pipe: standup-update\n2026-05-27T09:43:04.405053Z INFO screenpipe_core::pipes: loaded pipe: ai-habits\n2026-05-27T09:43:04.405146Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown\n2026-05-27T09:43:04.405225Z INFO screenpipe_core::pipes: loaded pipe: video-export\n2026-05-27T09:43:04.405301Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary\n2026-05-27T09:43:04.405315Z INFO screenpipe_core::pipes: loaded 6 pipes from \"/Users/lukas/.screenpipe/pipes\"\n\n\n\n _ \n __________________ ___ ____ ____ (_____ ___ \n / ___/ ___/ ___/ _ \\/ _ \\/ __ \\ / __ \\/ / __ \\/ _ \\\n (__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/\n/____/\\___/_/ \\___/\\___/_/ /_/ / .___/_/ .___/\\___/ \n /_/ /_/ \n\n\n\npower AI by everything you've seen, said or heard\nopen source | runs locally | developer friendly\n\n\n┌────────────────────────┬────────────────────────────────────┐\n│ setting │ value │\n├────────────────────────┼────────────────────────────────────┤\n│ audio chunk duration │ 30 seconds │\n│ port │ 3030 │\n│ audio disabled │ false │\n│ vision disabled │ false │\n│ pause on DRM content │ false │\n│ audio engine │ \"WhisperTiny\" │\n│ vad engine │ Silero │\n│ data directory │ /Users/lukas/.screenpipe │\n│ debug mode │ false │\n│ telemetry │ true │\n│ use pii removal │ true │\n│ use all monitors │ true │\n│ ignored windows │ [] │\n│ included windows │ [] │\n│ cloud sync │ disabled │\n│ auto-destruct pid │ 0 │\n│ deepgram key │ not set │\n│ api auth │ enabled │\n│ encrypt secrets │ disabled │\n│ retention days │ 14 │\n│ retention mode │ media-only (keep transcripts) │\n├────────────────────────┼────────────────────────────────────┤\n│ languages │ │\n│ │ all languages │\n├────────────────────────┼────────────────────────────────────┤\n│ monitors │ │\n│ │ id: 1 │\n│ │ id: 2 │\n├────────────────────────┼────────────────────────────────────┤\n│ audio devices │ │\n│ │ MacBook Pro Microphone (input) │\n│ │ System Audio (output) │\n└────────────────────────┴────────────────────────────────────┘\nyou are using local processing. all your data stays on your computer.\n\nwarning: telemetry is enabled. only error-level data will be sent.\nto disable, use the --disable-telemetry flag.\n\ncheck latest changes here: https://github.com/screenpipe/screenpipe/releases\n2026-05-27T09:43:04.408698Z INFO screenpipe: starting UI event capture\n2026-05-27T09:43:04.407787Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)\n2026-05-27T09:43:04.415575Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh\n2026-05-27T09:43:04.417716Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)\n2026-05-27T09:43:04.443805Z INFO screenpipe_engine::ui_recorder: Starting UI event capture\n2026-05-27T09:43:04.444668Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:43:04.444693Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.\n2026-05-27T09:43:04.444875Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)\n2026-05-27T09:43:04.444989Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-26 06:43:04.444987 UTC to 2026-05-27 06:43:04.444987 UTC)\n2026-05-27T09:43:04.445273Z INFO screenpipe_engine::ui_recorder: UI recording session started: d58b18b9-c318-4368-b491-d69932695fc2\n2026-05-27T09:43:04.450983Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)\n2026-05-27T09:43:04.455227Z INFO screenpipe_engine::server: Server listening on 127.0.0.1:3030\n2026-05-27T09:43:04.471607Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030\n2026-05-27T09:43:05.069681Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)\n2026-05-27T09:43:05.069810Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)\n2026-05-27T09:43:05.069855Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)\n2026-05-27T09:43:05.324376Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)\n2026-05-27T09:43:05.324428Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)\n2026-05-27T09:43:05.324441Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)\n2026-05-27T09:43:05.324448Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)\n2026-05-27T09:43:05.324498Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)\n2026-05-27T09:43:05.687658Z WARN sqlx::query: summary=\"SELECT f.id, f.timestamp, f.offset_index, …\" db.statement=\"\\n\\nSELECT\\n f.id,\\n f.timestamp,\\n f.offset_index,\\n COALESCE(\\n SUBSTR(f.full_text, 1, 200),\\n SUBSTR(f.accessibility_text, 1, 200),\\n (\\n SELECT\\n SUBSTR(ot.text, 1, 200)\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as text,\\n COALESCE(\\n f.app_name,\\n (\\n SELECT\\n ot.app_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as app_name,\\n COALESCE(\\n f.window_name,\\n (\\n SELECT\\n ot.window_name\\n FROM\\n ocr_text ot\\n WHERE\\n ot.frame_id = f.id\\n LIMIT\\n 1\\n )\\n ) as window_name,\\n COALESCE(vc.device_name, f.device_name) as screen_device,\\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\\n COALESCE(vc.fps, 0.033) as chunk_fps,\\n f.browser_url,\\n f.machine_id\\nFROM\\n frames f\\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\\nWHERE\\n f.timestamp >= ?1\\n AND f.timestamp <= ?2\\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\\nORDER BY\\n f.timestamp DESC,\\n f.offset_index DESC\\nLIMIT\\n 10000\\n\" rows_affected=0 rows_returned=2230 elapsed=1.241344125s\n2026-05-27T09:43:05.695821Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 2230 frame entries, coverage from 2026-05-26 06:43:04.444987 UTC\n2026-05-27T09:43:05.992936Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-27T09:43:06.266870Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-27T09:43:06.402051Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=73584, dur=73ms\n2026-05-27T09:43:06.403826Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.196875,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (docker)","depth":2,"bounds":{"left":0.196875,"top":0.05888889,"width":0.196875,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.20104167,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.39375,"top":0.05888889,"width":0.19652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.39791667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5902778,"top":0.05888889,"width":0.19652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.59444445,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.78680557,"top":0.05888889,"width":0.19652778,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.79097223,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.47083333,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
3381628438816118432
|
2643140205174748608
|
manual
|
accessibility
|
NULL
|
whisper_backend_init: using BLAS backend
whisper_i whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0
2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0
2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0
2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0
2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0
2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0
2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0
2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0
2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0
2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0
2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0
2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0
2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369
2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)
2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371
2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)
2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372
2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0
2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0
2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0
2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0
2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0
2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)
2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)
2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0
2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0
2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0
2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0
2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0
2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0
2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)
2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0
2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0
2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0
2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0
2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0
2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2
2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0
2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0
2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0
2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0
2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0
2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0
2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0
2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)
2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0
2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)
2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0
2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0
2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0
2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0
2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0
2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0
2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0
2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416
2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0
2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0
2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0
2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames
2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424
2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0
2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428
2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0
2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted
2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0
2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0
2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436
2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0
2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)
2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436
2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0
2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 11.9MB → 3.1MB (3.8x), 92 JPEGs deleted
2026-05-26T21:01:39.098787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73440 paired=1 still_pending=0
2026-05-26T21:01:39.816943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73442 paired=1 still_pending=0
2026-05-26T21:01:41.385329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=434 row_id=74525 frame_id=73444
2026-05-26T21:01:42.354871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73446 paired=1 still_pending=0
2026-05-26T21:01:45.574125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73448 paired=1 still_pending=0
2026-05-26T21:01:46.034928Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73450 paired=1 still_pending=0
2026-05-26T21:01:46.817376Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=438 row_id=74529 frame_id=73452
2026-05-26T21:01:48.501614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73454 paired=2 still_pending=0
2026-05-26T21:01:48.978787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=441 row_id=74532 frame_id=73456
2026-05-26T21:01:50.300896Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73458 paired=1 still_pending=0
2026-05-26T21:01:53.267672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73459 paired=1 still_pending=0
2026-05-26T21:01:54.767924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73460 paired=1 still_pending=0
2026-05-26T21:01:56.067956Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73462 paired=1 still_pending=0
2026-05-26T21:01:56.889728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73464 paired=1 still_pending=0
2026-05-26T21:01:58.623225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=447 row_id=74538 frame_id=73466
2026-05-26T21:01:59.218115Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73468 paired=1 still_pending=0
2026-05-26T21:02:00.851021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=449 row_id=74540 frame_id=73470
2026-05-26T21:02:01.998305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73472 paired=1 still_pending=0
2026-05-26T21:02:04.347288Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=31 total_pairs=441 total_evicted=336 total_failed=0
2026-05-26T21:02:04.347471Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73474 paired=1 still_pending=0
2026-05-26T21:02:06.105871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73476 paired=1 still_pending=0
2026-05-26T21:02:12.109467Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=32 total_pairs=443 total_evicted=337 total_failed=0
2026-05-26T21:02:12.109773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73478 paired=1 still_pending=0
2026-05-26T21:02:14.341353Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=454 row_id=74546 frame_id=73480
2026-05-26T21:02:17.040017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=455 row_id=74548 frame_id=73481
2026-05-26T21:02:17.044798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=456 row_id=74550 frame_id=73480
2026-05-26T21:02:26.323751Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=8 pending_events=0 pending_frames=28 total_pairs=447 total_evicted=345 total_failed=0
2026-05-26T21:02:26.323968Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73483 paired=1 still_pending=0
2026-05-26T21:02:29.672094Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:02:35.040585Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=1 pending_frames=22 total_pairs=448 total_evicted=352 total_failed=0
2026-05-26T21:02:35.040671Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73487 paired=1 still_pending=0
2026-05-26T21:02:36.829794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73489 paired=2 still_pending=0
2026-05-26T21:02:39.266195Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=23 total_pairs=451 total_evicted=353 total_failed=0
2026-05-26T21:02:39.266348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73492 paired=1 still_pending=0
2026-05-26T21:02:40.641223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73493 paired=1 still_pending=0
2026-05-26T21:02:41.341466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73495 paired=1 still_pending=0
2026-05-26T21:02:42.388106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=464 row_id=74558 frame_id=73497
2026-05-26T21:02:42.449887Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=23 total_pairs=455 total_evicted=356 total_failed=0
2026-05-26T21:02:43.857876Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=465 row_id=74559 frame_id=73499
2026-05-26T21:02:43.859454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73500 paired=1 still_pending=1
2026-05-26T21:02:47.265914Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73502 paired=1 still_pending=0
2026-05-26T21:02:48.361779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=23 total_pairs=458 total_evicted=359 total_failed=0
2026-05-26T21:02:48.361882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73504 paired=1 still_pending=0
2026-05-26T21:02:49.288504Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73506 paired=1 still_pending=0
2026-05-26T21:02:51.020096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73508 paired=1 still_pending=0
2026-05-26T21:02:52.288712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73510 paired=1 still_pending=0
2026-05-26T21:02:52.778480Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=462 total_evicted=361 total_failed=0
2026-05-26T21:02:52.778535Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73512 paired=1 still_pending=0
2026-05-26T21:02:54.840774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73514 paired=2 still_pending=0
2026-05-26T21:02:55.666536Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73516 paired=1 still_pending=0
2026-05-26T21:02:56.821152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=476 row_id=74570 frame_id=73518
2026-05-26T21:03:00.216356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73520 paired=1 still_pending=0
2026-05-26T21:03:00.217676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=25 total_pairs=468 total_evicted=366 total_failed=0
2026-05-26T21:03:03.895290Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=468 total_evicted=368 total_failed=0
2026-05-26T21:03:03.895422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73522 paired=1 still_pending=0
2026-05-26T21:03:07.106232Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73524 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T21:03:08.960210Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 6 orphaned chunks
2026-05-26T21:03:08.961568Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=470 total_evicted=370 total_failed=0
2026-05-26T21:03:08.961611Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73526 paired=1 still_pending=0
2026-05-26T21:03:10.793001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73528 paired=1 still_pending=0
2026-05-26T21:03:12.906147Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=24 total_pairs=472 total_evicted=371 total_failed=0
2026-05-26T21:03:12.906273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73530 paired=1 still_pending=0
2026-05-26T21:03:15.230969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73532 paired=1 still_pending=0
2026-05-26T21:03:16.055774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73534 paired=1 still_pending=0
2026-05-26T21:03:18.146639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=485 row_id=74579 frame_id=73536
2026-05-26T21:03:18.152425Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=476 total_evicted=373 total_failed=0
2026-05-26T21:03:20.509544Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=486 row_id=74581 frame_id=73538
2026-05-26T21:03:22.786519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73540 paired=1 still_pending=0
2026-05-26T21:03:24.377722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=488 row_id=74584 frame_id=73541
2026-05-26T21:03:27.448734Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=28 total_pairs=479 total_evicted=374 total_failed=0
2026-05-26T21:03:32.066738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=489 row_id=74588 frame_id=73544
2026-05-26T21:03:33.180323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=490 row_id=74590 frame_id=73546
2026-05-26T21:03:36.061033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73546 paired=1 still_pending=0
2026-05-26T21:03:41.904100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73547 paired=1 still_pending=0
2026-05-26T21:03:41.905403Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=26 total_pairs=483 total_evicted=378 total_failed=0
2026-05-26T21:04:00.181150Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:04:13.113524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73550 paired=1 still_pending=0
2026-05-26T21:04:13.116810Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=18 pending_events=0 pending_frames=10 total_pairs=484 total_evicted=396 total_failed=0
2026-05-26T21:04:20.198770Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=7 total_pairs=484 total_evicted=399 total_failed=0
2026-05-26T21:04:20.199028Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73555 paired=1 still_pending=0
2026-05-26T21:04:20.360514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643362899810751552, trigger=click)
2026-05-26T21:04:31.815187Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=5 total_pairs=485 total_evicted=402 total_failed=0
2026-05-26T21:04:31.815348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73556 paired=1 still_pending=0
2026-05-26T21:04:35.047362Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=4 total_pairs=486 total_evicted=404 total_failed=0
2026-05-26T21:04:35.047526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73560 paired=1 still_pending=0
2026-05-26T21:04:35.190069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3396646416531305755, trigger=click)
2026-05-26T21:04:35.881837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73561 paired=1 still_pending=0
2026-05-26T21:04:39.664639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=498 row_id=74599 frame_id=73564
2026-05-26T21:04:40.914816Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73567 paired=1 still_pending=0
2026-05-26T21:04:42.198029Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73569 paired=1 still_pending=0
2026-05-26T21:04:42.342866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3577559571019619452, trigger=click)
2026-05-26T21:04:45.614868Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=491 total_evicted=405 total_failed=0
2026-05-26T21:04:45.615182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73570 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backe...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
75220
|
2664
|
9
|
2026-05-27T08:14:51.282175+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-27/1779 /Users/lukas/.screenpipe/data/data/2026-05-27/1779869691282_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_init_state: kv self size = 3.15 MB
whi whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:35:40.141806Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:35:42.355871Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=visual_change)
2026-05-27T10:35:42.371601Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:35:42.745658Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:35:53.651441Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=526 total_evicted=360 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:35:53.651830Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=527 row_id=75378 frame_id=74684
2026-05-27T10:35:53.653855Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=528 row_id=75379 frame_id=74684
2026-05-27T10:35:53.772857Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=click)
2026-05-27T10:36:18.803558Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=122 elapsed=2.571758125s
2026-05-27T10:36:18.804640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames
2026-05-27T10:36:23.560483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 62 frames, 11.2MB → 3.4MB (3.3x), 62 JPEGs deleted
2026-05-27T10:36:25.059395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-984683312732951898, trigger=visual_change)
2026-05-27T10:36:27.704100Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.4MB → 3.3MB (3.8x), 58 JPEGs deleted
2026-05-27T10:36:38.801895Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=1 total_pairs=528 total_evicted=361 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:36:38.802185Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0
2026-05-27T10:36:38.806546Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0
2026-05-27T10:37:05.194164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)
2026-05-27T10:37:07.730220Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:37:08.341624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)
2026-05-27T10:37:11.202125Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=1 total_pairs=530 total_evicted=362 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:37:11.202403Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0
2026-05-27T10:37:11.207033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0
2026-05-27T10:37:12.718238Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74696 paired=1 still_pending=0
2026-05-27T10:37:20.115681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74697 paired=1 still_pending=0
2026-05-27T10:37:22.362104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=0
2026-05-27T10:37:22.377498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=2
2026-05-27T10:37:22.378336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=537 row_id=75388 frame_id=74701
2026-05-27T10:37:22.379136Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=538 row_id=75389 frame_id=74701
2026-05-27T10:37:29.232294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
2026-05-27T10:37:31.964854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74704 paired=2 still_pending=0
2026-05-27T10:37:32.183353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=click)
2026-05-27T10:37:37.899079Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:37:39.779008Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=540 total_evicted=363 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:37:39.779242Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74705 paired=2 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:37:41.051056Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:37:44.849477Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
2026-05-27T10:37:47.984977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
2026-05-27T10:37:54.167046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T10:38:03.465869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:08.687319Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:38:09.661305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:12.803020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:28.254710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:30.396377Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=542 total_evicted=368 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:38:30.396612Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74706 paired=2 still_pending=0
2026-05-27T10:38:37.805958Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:38:49.836485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)
2026-05-27T10:38:58.461033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0
2026-05-27T10:38:58.465841Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0
2026-05-27T10:39:00.897726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=0
2026-05-27T10:39:00.900298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=2
2026-05-27T10:39:00.900710Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=549 row_id=75400 frame_id=74714
2026-05-27T10:39:00.901170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=550 row_id=75401 frame_id=74714
2026-05-27T10:39:06.772643Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:07.139410Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:07.470101Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:07.817558Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:08.100216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8751693788434476499, trigger=click)
2026-05-27T10:39:11.481654Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74716 paired=2 still_pending=0
2026-05-27T10:39:11.750262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6281539165544966502, trigger=click)
2026-05-27T10:39:14.477538Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74717 paired=2 still_pending=0
2026-05-27T10:39:19.739455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:22.885369Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:39:41.852523Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:39:44.244561Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:50.557872Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:56.764268Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:59.929084Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:41:10.769262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)
2026-05-27T10:41:13.396400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)
2026-05-27T10:41:27.774640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74719 paired=2 still_pending=0
2026-05-27T10:41:27.777545Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=556 total_evicted=373 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:41:28.789568Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=103 elapsed=1.077141833s
2026-05-27T10:41:28.789700Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames
2026-05-27T10:41:35.245508Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0
2026-05-27T10:41:35.271579Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0
2026-05-27T10:41:35.701912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 10.1MB → 3.8MB (2.7x), 55 JPEGs deleted
2026-05-27T10:41:39.071588Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:41:40.453904Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 7.4MB → 2.0MB (3.7x), 46 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:41:42.779975Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks
2026-05-27T10:41:49.027970Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74734 paired=1 still_pending=0
2026-05-27T10:41:54.788261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)
2026-05-27T10:42:05.144866Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74742 paired=1 still_pending=0
2026-05-27T10:42:06.582444Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:42:06.843637Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:42:09.596353Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:43:38.057719Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:43:43.569346Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:44:09.146196Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:45:23.785916Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=0 total_pairs=560 total_evicted=376 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:45:23.786179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74748 paired=1 still_pending=0
2026-05-27T10:45:24.940282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74786 paired=1 still_pending=0
2026-05-27T10:45:29.802515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6862513116478460994, trigger=visual_change)
2026-05-27T10:45:29.870180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=563 row_id=75419 frame_id=74786
2026-05-27T10:45:29.873329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=564 row_id=75420 frame_id=74789
2026-05-27T10:45:29.873722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=565 row_id=75421 frame_id=74789
2026-05-27T10:45:39.152749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8281068984975041413, trigger=visual_change)
2026-05-27T10:45:54.661364Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)
2026-05-27T10:45:57.781035Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)
2026-05-27T10:46:04.115060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)
2026-05-27T10:46:07.299136Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)
2026-05-27T10:46:10.500428Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=click)
2026-05-27T10:46:20.108299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)
2026-05-27T10:46:23.255295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)
2026-05-27T10:46:34.775104Z INFO screenpipe_db::db: created new speaker id=82 (no existing match within threshold)
2026-05-27T10:46:44.692921Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=38 elapsed=4.22927575s
2026-05-27T10:46:44.693639Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 38 eligible frames
2026-05-27T10:46:44.768230Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)
2026-05-27T10:46:47.539847Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 4.5MB → 1.9MB (2.4x), 22 JPEGs deleted
2026-05-27T10:46:47.898858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)
2026-05-27T10:46:48.704833Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.9MB → 0.3MB (8.7x), 14 JPEGs deleted
2026-05-27T10:47:30.845429Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=324148660677850927, trigger=visual_change)
2026-05-27T10:47:31.133058Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=1 pending_frames=0 total_pairs=565 total_evicted=380 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:47:31.133211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74793 paired=2 still_pending=0
2026-05-27T10:47:39.504097Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:47:41.519243Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0
2026-05-27T10:47:41.522121Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:47:44.365124Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-27T10:47:46.103074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74808 paired=1 still_pending=0
2026-05-27T10:47:46.115167Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=571 row_id=75427 frame_id=74810
2026-05-27T10:47:49.351709Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74811 paired=1 still_pending=0
2026-05-27T10:47:49.778815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74813 paired=1 still_pending=0
2026-05-27T10:47:52.292862Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74814 paired=1 still_pending=0
2026-05-27T10:47:55.519188Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74815 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-27T10:48:03.750757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)
2026-05-27T10:48:12.999947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)
2026-05-27T10:48:13.601770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74818 paired=1 still_pending=0
2026-05-27T10:48:19.245059Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74823 paired=1 still_pending=0
2026-05-27T10:48:20.392916Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=351139886521669435, trigger=visual_change)
2026-05-27T10:48:20.561783Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74826 paired=1 still_pending=0
2026-05-27T10:48:22.234456Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=579 row_id=75436 frame_id=74827
2026-05-27T10:48:23.362373Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74829 paired=1 still_pending=0
2026-05-27T10:48:31.033187Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=581 row_id=75439 frame_id=74831
2026-05-27T10:48:34.542082Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=581 total_evicted=382 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:48:38.516524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8835137622839399697, trigger=visual_change)
2026-05-27T10:48:39.454969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7851543753003591938, trigger=visual_change)
2026-05-27T10:48:39.994608Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=582 row_id=75441 frame_id=74836
2026-05-27T10:48:40.650038Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74838 paired=1 still_pending=0
2026-05-27T10:48:41.263828Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8828367637830510212, trigger=click)
2026-05-27T10:48:42.174562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=584 row_id=75443 frame_id=74840
2026-05-27T10:48:44.683767Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=[CREDIT_CARD], trigger=visual_change)
2026-05-27T10:48:44.896658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=584 total_evicted=383 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:48:44.896895Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=585 row_id=75445 frame_id=74841
2026-05-27T10:48:46.056031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74843 paired=1 still_pending=0
2026-05-27T10:48:48.845147Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=587 row_id=75448 frame_id=74845
2026-05-27T10:48:51.275282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=588 row_id=75449 frame_id=74847
2026-05-27T10:48:53.293443Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74849 paired=1 still_pending=0
2026-05-27T10:48:56.208700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74851 paired=1 still_pending=0
2026-05-27T10:48:59.176524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74853 paired=1 still_pending=0
2026-05-27T10:49:00.349380Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74855 paired=1 still_pending=0
2026-05-27T10:49:03.413713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)
2026-05-27T10:49:06.543816Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:06.637710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:08.324034Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:49:08.664754Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:49:09.636214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)
2026-05-27T10:49:12.784517Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)
2026-05-27T10:49:12.993702Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=593 row_id=75455 frame_id=74857
2026-05-27T10:49:13.177475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:17.544041Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=593 total_evicted=384 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:49:17.544223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74858 paired=1 still_pending=0
2026-05-27T10:49:17.609729Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:17.709903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=595 row_id=75457 frame_id=74860
2026-05-27T10:49:17.762481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:19.138578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=visual_change)
2026-05-27T10:49:19.523959Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=596 row_id=75458 frame_id=74858
2026-05-27T10:49:19.542760Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=19 total_pairs=596 total_evicted=385 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:49:19.594743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=click)
2026-05-27T10:49:43.842958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8201919100771035126, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:49:45.194360Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-27T10:49:46.606320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=9 pending_events=0 pending_frames=11 total_pairs=596 total_evicted=394 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:49:46.606672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=597 row_id=75459 frame_id=74862
2026-05-27T10:49:51.439722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1021942438266116204, trigger=visual_change)
2026-05-27T10:49:57.772158Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5275664159014309534, trigger=visual_change)
2026-05-27T10:50:05.975199Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:50:10.203979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=visual_change)
2026-05-27T10:50:13.008938Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=1 pending_frames=4 total_pairs=597 total_evicted=401 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:50:13.010176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=1 still_pending=0
2026-05-27T10:50:13.014567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=3 still_pending=0
2026-05-27T10:50:13.241765Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=click)
2026-05-27T10:50:53.467165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)
2026-05-27T10:50:56.597593Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)
2026-05-27T10:50:59.739002Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)
2026-05-27T10:51:06.132457Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9096346061608388843, trigger=visual_change)
2026-05-27T10:51:09.336010Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=2 pending_frames=1 total_pairs=601 total_evicted=405 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:51:09.336225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74877 paired=2 still_pending=0
2026-05-27T10:51:21.604110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=visual_change)
2026-05-27T10:51:22.055285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=603 total_evicted=406 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:51:22.055543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0
2026-05-27T10:51:22.057517Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0
2026-05-27T10:51:22.160975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=click)
2026-05-27T10:51:33.786507Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:51:34.241453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:51:46.024317Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:51:49.530490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)
2026-05-27T10:51:50.135374Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=48 elapsed=1.422438792s
2026-05-27T10:51:50.135691Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames
2026-05-27T10:51:52.705843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)
2026-05-27T10:51:53.343898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 6.4MB → 2.6MB (2.5x), 31 JPEGs deleted
2026-05-27T10:51:54.784598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.6MB (4.7x), 15 JPEGs deleted
2026-05-27T10:52:03.972202Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:52:05.016297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)
2026-05-27T10:52:08.161325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)
2026-05-27T10:52:14.349460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)
2026-05-27T10:52:34.334962Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:52:35.620623Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:52:36.480915Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T10:53:27.969672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)
2026-05-27T10:53:34.270392Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:53:37.196546Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:53:46.822864Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:53:55.581368Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)
2026-05-27T10:53:58.715295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)
2026-05-27T10:54:02.829943Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:54:17.402312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8648087632458352271, trigger=visual_change)
2026-05-27T10:54:32.940665Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:36.100699Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:42.273843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:48.452077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:51.596005Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:57.804909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:55:03.190911Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:55:0...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:35:40.141806Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:35:42.355871Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=visual_change)\n2026-05-27T10:35:42.371601Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:35:42.745658Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:35:53.651441Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=526 total_evicted=360 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:35:53.651830Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=527 row_id=75378 frame_id=74684\n2026-05-27T10:35:53.653855Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=528 row_id=75379 frame_id=74684\n2026-05-27T10:35:53.772857Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=click)\n2026-05-27T10:36:18.803558Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=122 elapsed=2.571758125s\n2026-05-27T10:36:18.804640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames\n2026-05-27T10:36:23.560483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 62 frames, 11.2MB → 3.4MB (3.3x), 62 JPEGs deleted\n2026-05-27T10:36:25.059395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-984683312732951898, trigger=visual_change)\n2026-05-27T10:36:27.704100Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.4MB → 3.3MB (3.8x), 58 JPEGs deleted\n2026-05-27T10:36:38.801895Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=1 total_pairs=528 total_evicted=361 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:36:38.802185Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0\n2026-05-27T10:36:38.806546Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0\n2026-05-27T10:37:05.194164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)\n2026-05-27T10:37:07.730220Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:37:08.341624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)\n2026-05-27T10:37:11.202125Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=1 total_pairs=530 total_evicted=362 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:37:11.202403Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0\n2026-05-27T10:37:11.207033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0\n2026-05-27T10:37:12.718238Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74696 paired=1 still_pending=0\n2026-05-27T10:37:20.115681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74697 paired=1 still_pending=0\n2026-05-27T10:37:22.362104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=0\n2026-05-27T10:37:22.377498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=2\n2026-05-27T10:37:22.378336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=537 row_id=75388 frame_id=74701\n2026-05-27T10:37:22.379136Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=538 row_id=75389 frame_id=74701\n2026-05-27T10:37:29.232294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)\n2026-05-27T10:37:31.964854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74704 paired=2 still_pending=0\n2026-05-27T10:37:32.183353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=click)\n2026-05-27T10:37:37.899079Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:37:39.779008Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=540 total_evicted=363 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:37:39.779242Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74705 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:37:41.051056Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:37:44.849477Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)\n2026-05-27T10:37:47.984977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)\n2026-05-27T10:37:54.167046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T10:38:03.465869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)\n2026-05-27T10:38:08.687319Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:38:09.661305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)\n2026-05-27T10:38:12.803020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)\n2026-05-27T10:38:28.254710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)\n2026-05-27T10:38:30.396377Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=542 total_evicted=368 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:38:30.396612Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74706 paired=2 still_pending=0\n2026-05-27T10:38:37.805958Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:38:49.836485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T10:38:58.461033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0\n2026-05-27T10:38:58.465841Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0\n2026-05-27T10:39:00.897726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=0\n2026-05-27T10:39:00.900298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=2\n2026-05-27T10:39:00.900710Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=549 row_id=75400 frame_id=74714\n2026-05-27T10:39:00.901170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=550 row_id=75401 frame_id=74714\n2026-05-27T10:39:06.772643Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:39:07.139410Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:39:07.470101Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:39:07.817558Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:39:08.100216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8751693788434476499, trigger=click)\n2026-05-27T10:39:11.481654Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74716 paired=2 still_pending=0\n2026-05-27T10:39:11.750262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6281539165544966502, trigger=click)\n2026-05-27T10:39:14.477538Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74717 paired=2 still_pending=0\n2026-05-27T10:39:19.739455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:39:22.885369Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:39:41.852523Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:39:44.244561Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:39:50.557872Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:39:56.764268Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:39:59.929084Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:41:10.769262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)\n2026-05-27T10:41:13.396400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)\n2026-05-27T10:41:27.774640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74719 paired=2 still_pending=0\n2026-05-27T10:41:27.777545Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=556 total_evicted=373 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:41:28.789568Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=103 elapsed=1.077141833s\n2026-05-27T10:41:28.789700Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames\n2026-05-27T10:41:35.245508Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0\n2026-05-27T10:41:35.271579Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0\n2026-05-27T10:41:35.701912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 10.1MB → 3.8MB (2.7x), 55 JPEGs deleted\n2026-05-27T10:41:39.071588Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:41:40.453904Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 7.4MB → 2.0MB (3.7x), 46 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:41:42.779975Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks\n2026-05-27T10:41:49.027970Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74734 paired=1 still_pending=0\n2026-05-27T10:41:54.788261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T10:42:05.144866Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74742 paired=1 still_pending=0\n2026-05-27T10:42:06.582444Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:42:06.843637Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:42:09.596353Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:43:38.057719Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:43:43.569346Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:44:09.146196Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:45:23.785916Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=0 total_pairs=560 total_evicted=376 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:45:23.786179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74748 paired=1 still_pending=0\n2026-05-27T10:45:24.940282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74786 paired=1 still_pending=0\n2026-05-27T10:45:29.802515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6862513116478460994, trigger=visual_change)\n2026-05-27T10:45:29.870180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=563 row_id=75419 frame_id=74786\n2026-05-27T10:45:29.873329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=564 row_id=75420 frame_id=74789\n2026-05-27T10:45:29.873722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=565 row_id=75421 frame_id=74789\n2026-05-27T10:45:39.152749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8281068984975041413, trigger=visual_change)\n2026-05-27T10:45:54.661364Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)\n2026-05-27T10:45:57.781035Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)\n2026-05-27T10:46:04.115060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)\n2026-05-27T10:46:07.299136Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)\n2026-05-27T10:46:10.500428Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=click)\n2026-05-27T10:46:20.108299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)\n2026-05-27T10:46:23.255295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)\n2026-05-27T10:46:34.775104Z INFO screenpipe_db::db: created new speaker id=82 (no existing match within threshold)\n2026-05-27T10:46:44.692921Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=38 elapsed=4.22927575s\n2026-05-27T10:46:44.693639Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 38 eligible frames\n2026-05-27T10:46:44.768230Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)\n2026-05-27T10:46:47.539847Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 4.5MB → 1.9MB (2.4x), 22 JPEGs deleted\n2026-05-27T10:46:47.898858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)\n2026-05-27T10:46:48.704833Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.9MB → 0.3MB (8.7x), 14 JPEGs deleted\n2026-05-27T10:47:30.845429Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=324148660677850927, trigger=visual_change)\n2026-05-27T10:47:31.133058Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=1 pending_frames=0 total_pairs=565 total_evicted=380 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:47:31.133211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74793 paired=2 still_pending=0\n2026-05-27T10:47:39.504097Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:47:41.519243Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0\n2026-05-27T10:47:41.522121Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:47:44.365124Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T10:47:46.103074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74808 paired=1 still_pending=0\n2026-05-27T10:47:46.115167Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=571 row_id=75427 frame_id=74810\n2026-05-27T10:47:49.351709Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74811 paired=1 still_pending=0\n2026-05-27T10:47:49.778815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74813 paired=1 still_pending=0\n2026-05-27T10:47:52.292862Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74814 paired=1 still_pending=0\n2026-05-27T10:47:55.519188Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74815 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-27T10:48:03.750757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)\n2026-05-27T10:48:12.999947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)\n2026-05-27T10:48:13.601770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74818 paired=1 still_pending=0\n2026-05-27T10:48:19.245059Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74823 paired=1 still_pending=0\n2026-05-27T10:48:20.392916Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=351139886521669435, trigger=visual_change)\n2026-05-27T10:48:20.561783Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74826 paired=1 still_pending=0\n2026-05-27T10:48:22.234456Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=579 row_id=75436 frame_id=74827\n2026-05-27T10:48:23.362373Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74829 paired=1 still_pending=0\n2026-05-27T10:48:31.033187Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=581 row_id=75439 frame_id=74831\n2026-05-27T10:48:34.542082Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=581 total_evicted=382 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:48:38.516524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8835137622839399697, trigger=visual_change)\n2026-05-27T10:48:39.454969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7851543753003591938, trigger=visual_change)\n2026-05-27T10:48:39.994608Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=582 row_id=75441 frame_id=74836\n2026-05-27T10:48:40.650038Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74838 paired=1 still_pending=0\n2026-05-27T10:48:41.263828Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8828367637830510212, trigger=click)\n2026-05-27T10:48:42.174562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=584 row_id=75443 frame_id=74840\n2026-05-27T10:48:44.683767Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7926243118367575, trigger=visual_change)\n2026-05-27T10:48:44.896658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=584 total_evicted=383 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:48:44.896895Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=585 row_id=75445 frame_id=74841\n2026-05-27T10:48:46.056031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74843 paired=1 still_pending=0\n2026-05-27T10:48:48.845147Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=587 row_id=75448 frame_id=74845\n2026-05-27T10:48:51.275282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=588 row_id=75449 frame_id=74847\n2026-05-27T10:48:53.293443Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74849 paired=1 still_pending=0\n2026-05-27T10:48:56.208700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74851 paired=1 still_pending=0\n2026-05-27T10:48:59.176524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74853 paired=1 still_pending=0\n2026-05-27T10:49:00.349380Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74855 paired=1 still_pending=0\n2026-05-27T10:49:03.413713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)\n2026-05-27T10:49:06.543816Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:06.637710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:08.324034Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:49:08.664754Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:49:09.636214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)\n2026-05-27T10:49:12.784517Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)\n2026-05-27T10:49:12.993702Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=593 row_id=75455 frame_id=74857\n2026-05-27T10:49:13.177475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:17.544041Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=593 total_evicted=384 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:49:17.544223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74858 paired=1 still_pending=0\n2026-05-27T10:49:17.609729Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:17.709903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=595 row_id=75457 frame_id=74860\n2026-05-27T10:49:17.762481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:19.138578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=visual_change)\n2026-05-27T10:49:19.523959Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=596 row_id=75458 frame_id=74858\n2026-05-27T10:49:19.542760Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=19 total_pairs=596 total_evicted=385 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:49:19.594743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=click)\n2026-05-27T10:49:43.842958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8201919100771035126, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:49:45.194360Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T10:49:46.606320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=9 pending_events=0 pending_frames=11 total_pairs=596 total_evicted=394 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:49:46.606672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=597 row_id=75459 frame_id=74862\n2026-05-27T10:49:51.439722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1021942438266116204, trigger=visual_change)\n2026-05-27T10:49:57.772158Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5275664159014309534, trigger=visual_change)\n2026-05-27T10:50:05.975199Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:50:10.203979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=visual_change)\n2026-05-27T10:50:13.008938Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=1 pending_frames=4 total_pairs=597 total_evicted=401 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:50:13.010176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=1 still_pending=0\n2026-05-27T10:50:13.014567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=3 still_pending=0\n2026-05-27T10:50:13.241765Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=click)\n2026-05-27T10:50:53.467165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)\n2026-05-27T10:50:56.597593Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)\n2026-05-27T10:50:59.739002Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)\n2026-05-27T10:51:06.132457Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9096346061608388843, trigger=visual_change)\n2026-05-27T10:51:09.336010Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=2 pending_frames=1 total_pairs=601 total_evicted=405 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:51:09.336225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74877 paired=2 still_pending=0\n2026-05-27T10:51:21.604110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=visual_change)\n2026-05-27T10:51:22.055285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=603 total_evicted=406 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:51:22.055543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0\n2026-05-27T10:51:22.057517Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0\n2026-05-27T10:51:22.160975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=click)\n2026-05-27T10:51:33.786507Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:51:34.241453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:51:46.024317Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:51:49.530490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)\n2026-05-27T10:51:50.135374Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=48 elapsed=1.422438792s\n2026-05-27T10:51:50.135691Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames\n2026-05-27T10:51:52.705843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)\n2026-05-27T10:51:53.343898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 6.4MB → 2.6MB (2.5x), 31 JPEGs deleted\n2026-05-27T10:51:54.784598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.6MB (4.7x), 15 JPEGs deleted\n2026-05-27T10:52:03.972202Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:52:05.016297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)\n2026-05-27T10:52:08.161325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)\n2026-05-27T10:52:14.349460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)\n2026-05-27T10:52:34.334962Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:52:35.620623Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:52:36.480915Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T10:53:27.969672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)\n2026-05-27T10:53:34.270392Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:53:37.196546Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:53:46.822864Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:53:55.581368Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)\n2026-05-27T10:53:58.715295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)\n2026-05-27T10:54:02.829943Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:54:17.402312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8648087632458352271, trigger=visual_change)\n2026-05-27T10:54:32.940665Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:36.100699Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:42.273843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:48.452077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:51.596005Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:57.804909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:55:03.190911Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:55:03.510766Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:55:03.850354Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:55:07.308149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7385108447587807041, trigger=visual_change)\n2026-05-27T10:55:10.445221Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7385108447587807041, trigger=visual_change)\n2026-05-27T10:55:16.626502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7385108447587807041, trigger=visual_change)\n2026-05-27T10:55:19.769340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7385108447587807041, trigger=visual_change)\n2026-05-27T10:55:29.177525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7490568551420502276, trigger=visual_change)\n2026-05-27T10:55:32.350133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7490568551420502276, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:55:47.693787Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T10:56:19.273733Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=0 total_pairs=605 total_evicted=409 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:56:19.274317Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74885 paired=1 still_pending=0\n2026-05-27T10:56:19.277264Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74885 paired=1 still_pending=0\n2026-05-27T10:56:27.555195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8805880771663545660, trigger=visual_change)\n2026-05-27T10:56:32.877385Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74912 paired=1 still_pending=0\n2026-05-27T10:56:32.878923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74912 paired=1 still_pending=0\n2026-05-27T10:56:34.314630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7387538499067110487, trigger=visual_change)\n2026-05-27T10:56:40.516428Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7387538499067110487, trigger=visual_change)\n2026-05-27T10:56:43.674695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7387538499067110487, trigger=visual_change)\n2026-05-27T10:56:53.155393Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2623522005104392603, trigger=visual_change)\n2026-05-27T10:56:56.277504Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2623522005104392603, trigger=visual_change)\n2026-05-27T10:56:57.400569Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=63 elapsed=2.545045291s\n2026-05-27T10:56:57.400867Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 63 eligible frames\n2026-05-27T10:56:59.431550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2623522005104392603, trigger=visual_change)\n2026-05-27T10:57:01.298486Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 8.8MB → 3.6MB (2.4x), 41 JPEGs deleted\n2026-05-27T10:57:03.541187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.6MB → 0.9MB (3.9x), 20 JPEGs deleted\n2026-05-27T10:57:04.454822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74915 paired=1 still_pending=0\n2026-05-27T10:57:04.456336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74915 paired=1 still_pending=0\n2026-05-27T10:57:11.922967Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3550101139758322869, trigger=visual_change)\n2026-05-27T10:57:12.339808Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74921 paired=1 still_pending=0\n2026-05-27T10:57:12.342646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74921 paired=1 still_pending=0\n2026-05-27T10:57:12.521603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3550101139758322869, trigger=click)\n2026-05-27T10:57:28.270605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74924 paired=1 still_pending=0\n2026-05-27T10:57:28.273895Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=3 total_pairs=614 total_evicted=410 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:57:28.274075Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74924 paired=1 still_pending=0\n2026-05-27T10:57:31.273394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74928 paired=1 still_pending=0\n2026-05-27T10:57:31.276335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74928 paired=1 still_pending=0\n2026-05-27T10:57:32.935193Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:33.626250Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:34.709788Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:37.014047Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4497664561537383823, trigger=visual_change)\n2026-05-27T10:57:37.617495Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:38.989038Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:40.150105Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4497664561537383823, trigger=visual_change)\n2026-05-27T10:57:43.305551Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4497664561537383823, trigger=visual_change)\n2026-05-27T10:57:46.442702Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4497664561537383823, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:57:48.528879Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:57:50.951750Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=617 total_evicted=411 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:57:50.952046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=618 row_id=75480 frame_id=74930\n2026-05-27T10:57:50.954490Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=619 row_id=75481 frame_id=74930\n2026-05-27T10:57:52.096393Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74934 paired=1 still_pending=0\n2026-05-27T10:57:52.141930Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=621 row_id=75483 frame_id=74934\n2026-05-27T10:57:52.143063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=622 row_id=75484 frame_id=74934\n2026-05-27T10:57:52.143442Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=623 row_id=75485 frame_id=74934\n2026-05-27T10:57:54.203267Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74936 paired=1 still_pending=0\n2026-05-27T10:57:55.843935Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74937 paired=1 still_pending=0\n2026-05-27T10:57:55.846698Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=626 row_id=75488 frame_id=74937\n2026-05-27T10:58:00.545228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74939 paired=1 still_pending=0\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T10:58:06.494392Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1318298225994592675, trigger=typing_pause)\n2026-05-27T10:58:08.090056Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=6 total_pairs=627 total_evicted=412 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:58:08.090250Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74940 paired=1 still_pending=0\n2026-05-27T10:58:08.438035Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1318298225994592675, trigger=click)\n2026-05-27T10:58:10.055821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74942 paired=1 still_pending=0\n2026-05-27T10:58:13.144008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74943 paired=1 still_pending=0\n2026-05-27T10:58:16.380649Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=630 total_evicted=413 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:58:16.380762Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74945 paired=1 still_pending=0\n2026-05-27T10:58:26.139947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74948 paired=1 still_pending=0\n2026-05-27T10:58:39.573077Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=632 total_evicted=415 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:58:39.573195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:59:49.321507Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T11:00:01.874598Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:00:02.183117Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:00:02.456064Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:00:24.528393Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5612660574143752611, trigger=visual_change)\n2026-05-27T11:01:04.034125Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=0 pending_frames=0 total_pairs=633 total_evicted=422 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:01:04.035663Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74954 paired=1 still_pending=0\n2026-05-27T11:01:08.026138Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74989 paired=1 still_pending=0\n2026-05-27T11:01:09.602760Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74991 paired=1 still_pending=0\n2026-05-27T11:01:11.537017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=637 row_id=75501 frame_id=74993\n2026-05-27T11:01:15.103906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74995 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:01:50.095158Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T11:02:06.559356Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=93 elapsed=3.006789458s\n2026-05-27T11:02:06.559529Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 93 eligible frames\n2026-05-27T11:02:10.668252Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 9.7MB → 4.0MB (2.4x), 45 JPEGs deleted\n2026-05-27T11:02:13.996428Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 5.1MB → 1.3MB (3.9x), 46 JPEGs deleted\n2026-05-27T11:02:17.600106Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=1 pending_frames=0 total_pairs=638 total_evicted=427 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:02:17.600361Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74997 paired=1 still_pending=0\n2026-05-27T11:02:31.827805Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:02:43.310898Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75012 paired=1 still_pending=0\n2026-05-27T11:02:46.182088Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75024 paired=1 still_pending=0\n2026-05-27T11:02:48.877994Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75027 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-27T11:03:30.613903Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=642 total_evicted=428 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:03:30.614328Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75031 paired=1 still_pending=0\n2026-05-27T11:03:31.816076Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:03:33.128359Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75046 paired=1 still_pending=0\n2026-05-27T11:03:34.291874Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75049 paired=1 still_pending=0\n2026-05-27T11:03:34.296993Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=646 row_id=75510 frame_id=75049\n2026-05-27T11:03:44.624247Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=646 total_evicted=429 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:03:46.705941Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75052 paired=1 still_pending=0\n2026-05-27T11:03:46.711101Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=648 row_id=75512 frame_id=75052\n2026-05-27T11:03:46.712282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=649 row_id=75513 frame_id=75052\n2026-05-27T11:03:46.713094Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=650 row_id=75514 frame_id=75052\n2026-05-27T11:03:49.625490Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=4 total_pairs=650 total_evicted=431 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:03:50.996149Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T11:04:01.697501Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:04:18.401881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75056 paired=2 still_pending=0\n2026-05-27T11:04:19.511041Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75059 paired=1 still_pending=0\n2026-05-27T11:04:19.513341Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=654 row_id=75518 frame_id=75060\n2026-05-27T11:04:32.532101Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:04:32.866426Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:04:34.626399Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=4 total_pairs=654 total_evicted=433 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:04:38.511384Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75067 paired=1 still_pending=0\n2026-05-27T11:04:38.514387Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=656 row_id=75520 frame_id=75067\n2026-05-27T11:04:49.626929Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=3 total_pairs=656 total_evicted=435 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:04:57.642980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3653001704353754601, trigger=visual_change)\n2026-05-27T11:05:00.303097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75072 paired=1 still_pending=0\n2026-05-27T11:05:03.281230Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:05:11.123392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75076 paired=1 still_pending=0\n2026-05-27T11:05:19.136711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75082 paired=1 still_pending=0\n2026-05-27T11:05:19.635950Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=659 total_evicted=436 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:05:29.627672Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=659 total_evicted=437 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:05:32.507218Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:05:39.628724Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=659 total_evicted=438 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:05:47.593930Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75094 paired=1 still_pending=0\n2026-05-27T11:05:47.769098Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8344515531451102961, trigger=click)\n2026-05-27T11:05:48.377305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75097 paired=1 still_pending=0\n2026-05-27T11:05:49.896744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=662 row_id=75531 frame_id=75099\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:05:52.334364Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T11:05:59.582693Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:06:01.582003Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:02.894730Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=5 total_pairs=662 total_evicted=440 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:06:02.894976Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=663 row_id=75534 frame_id=75102\n2026-05-27T11:06:04.711473Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75105 paired=1 still_pending=0\n2026-05-27T11:06:06.694630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75107 paired=1 still_pending=0\n2026-05-27T11:06:09.632525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:06:14.962972Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75110 paired=1 still_pending=0\n2026-05-27T11:06:24.160310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75113 paired=1 still_pending=0\n2026-05-27T11:06:29.234217Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=667 total_evicted=441 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:06:29.234456Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75117 paired=1 still_pending=0\n2026-05-27T11:06:30.639484Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:30.969615Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:32.818337Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:34.206365Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:49.124971Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=7 total_pairs=668 total_evicted=443 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:06:49.131668Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75122 paired=1 still_pending=0\n2026-05-27T11:06:54.013752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:06:54.034264Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75135 paired=1 still_pending=0\n2026-05-27T11:06:54.047151Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=671 row_id=75545 frame_id=75135\n2026-05-27T11:06:54.049049Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=672 row_id=75546 frame_id=75135\n2026-05-27T11:06:54.630159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=7 total_pairs=672 total_evicted=444 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:06:55.808272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=click)\n2026-05-27T11:06:56.667097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75135 paired=1 still_pending=0\n2026-05-27T11:06:57.109809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:06:58.384638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:07:02.190684Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:07:04.630166Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=7 total_pairs=673 total_evicted=445 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:09.630702Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=5 total_pairs=673 total_evicted=447 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:18.339895Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=37 elapsed=4.330698625s\n2026-05-27T11:07:18.340098Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 37 eligible frames\n2026-05-27T11:07:19.630468Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=673 total_evicted=448 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:21.088455Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 4.8MB → 2.1MB (2.3x), 22 JPEGs deleted\n2026-05-27T11:07:21.993884Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (12.5x), 13 JPEGs deleted\n2026-05-27T11:07:23.475458Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:07:24.630989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=673 total_evicted=449 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:28.700700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75137 paired=1 still_pending=0\n2026-05-27T11:07:29.910002Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=674 total_evicted=450 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:30.978885Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75138 paired=1 still_pending=0\n2026-05-27T11:07:31.018407Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75138 paired=1 still_pending=0\n2026-05-27T11:07:31.666019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75139 paired=1 still_pending=0\n2026-05-27T11:07:32.768952Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:07:34.061212Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75140 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:07:54.429408Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T11:07:59.344291Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=2 total_pairs=678 total_evicted=452 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:59.344757Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75142 paired=1 still_pending=0\n2026-05-27T11:08:00.494605Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:02.701961Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T11:08:10.229569Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:08:25.415969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:08:31.333214Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:31.711265Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:33.143049Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:33.474761Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:50.826713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:02.997884Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:09.103149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:12.153038Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:30.859513Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:09:40.114226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:44.215647Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=0 total_pairs=679 total_evicted=454 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:09:44.219705Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75151 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:09:55.288329Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T11:10:15.429982Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75161 paired=1 still_pending=0\n2026-05-27T11:10:20.208149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:10:24.361509Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75167 paired=1 still_pending=0\n2026-05-27T11:10:24.732361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=click)\n2026-05-27T11:10:26.277877Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:10:29.326633Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:10:30.274287Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:10:30.508712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75171 paired=1 still_pending=0\n2026-05-27T11:10:30.726533Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:10:31.781057Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75172 paired=1 still_pending=0\n2026-05-27T11:10:31.787507Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=685 row_id=75567 frame_id=75172\n2026-05-27T11:10:31.788973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=686 row_id=75568 frame_id=75172\n2026-05-27T11:10:31.790241Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=687 row_id=75569 frame_id=75172\n2026-05-27T11:10:35.434575Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75174 paired=2 still_pending=0\n2026-05-27T11:10:37.917518Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75176 paired=2 still_pending=0\n2026-05-27T11:10:39.094493Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75177 paired=2 still_pending=0\n2026-05-27T11:10:45.951901Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=693 total_evicted=455 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:10:45.952125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75179 paired=2 still_pending=0\n2026-05-27T11:10:46.186183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4202602268494152607, trigger=click)\n2026-05-27T11:10:48.032388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75180 paired=2 still_pending=0\n2026-05-27T11:10:48.076782Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4202602268494152607, trigger=visual_change)\n2026-05-27T11:10:48.176343Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=698 row_id=75587 frame_id=75180\n2026-05-27T11:10:49.949133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=699 row_id=75588 frame_id=75182\n2026-05-27T11:10:51.703804Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75184 paired=2 still_pending=0\n2026-05-27T11:10:53.848550Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75185 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:11:55.975929Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T11:12:25.892643Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=92 elapsed=3.886815333s\n2026-05-27T11:12:25.892946Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 92 eligible frames\n2026-05-27T11:12:29.188017Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 11.1MB → 4.3MB (2.6x), 55 JPEGs deleted\n2026-05-27T11:12:31.518128Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 7.2MB → 2.5MB (2.8x), 35 JPEGs deleted\n2026-05-27T11:13:04.683340Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), -1 pages in WAL\n2026-05-27T11:13:55.767324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=8 pending_events=1 pending_frames=0 total_pairs=702 total_evicted=463 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:13:55.767604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75186 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:13:56.299494Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T11:14:00.385420Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9099119862691903878, trigger=visual_change)\n2026-05-27T11:14:11.679203Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4511363005429599750, trigger=click)\n2026-05-27T11:14:12.756116Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4511363005429599750, trigger=visual_change)\n2026-05-27T11:14:13.171174Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75204 paired=2 still_pending=0\n2026-05-27T11:14:13.250023Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4511363005429599750, trigger=click)\n2026-05-27T11:14:13.279812Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect\n2026-05-27T11:14:13.279873Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)\n2026-05-27T11:14:15.163574Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-27T11:14:15.163749Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-27T11:14:15.288982Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-27T11:14:15.289046Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-27T11:14:15.289073Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-27T11:14:19.729842Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=706 row_id=75596 frame_id=75204\n2026-05-27T11:14:19.734601Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=707 row_id=75597 frame_id=75204\n2026-05-27T11:14:25.074614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75212 paired=1 still_pending=0\n2026-05-27T11:14:26.187503Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75213 paired=1 still_pending=0\n2026-05-27T11:14:27.387803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75214 paired=1 still_pending=0\n2026-05-27T11:14:27.392566Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=711 row_id=75607 frame_id=75214\n2026-05-27T11:14:30.022832Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75216 paired=1 still_pending=0\n2026-05-27T11:14:33.854808Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75217 paired=1 still_pending=0\n2026-05-27T11:14:37.672528Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75218 paired=1 still_pending=0\n2026-05-27T11:14:46.123943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75219 paired=1 still_pending=0\n2026-05-27T11:14:46.485002Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6268996426614625367, trigger=click)\n2026-05-27T11:14:50.322394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75219 paired=1 still_pending=0\n2026-05-27T11:14:50.676854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6268996426614625367, trigger=click)","depth":4,"on_screen":true,"value":"whisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:35:40.141806Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:35:42.355871Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=visual_change)\n2026-05-27T10:35:42.371601Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:35:42.745658Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:35:53.651441Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=526 total_evicted=360 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:35:53.651830Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=527 row_id=75378 frame_id=74684\n2026-05-27T10:35:53.653855Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=528 row_id=75379 frame_id=74684\n2026-05-27T10:35:53.772857Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=click)\n2026-05-27T10:36:18.803558Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=122 elapsed=2.571758125s\n2026-05-27T10:36:18.804640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames\n2026-05-27T10:36:23.560483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 62 frames, 11.2MB → 3.4MB (3.3x), 62 JPEGs deleted\n2026-05-27T10:36:25.059395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-984683312732951898, trigger=visual_change)\n2026-05-27T10:36:27.704100Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.4MB → 3.3MB (3.8x), 58 JPEGs deleted\n2026-05-27T10:36:38.801895Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=1 total_pairs=528 total_evicted=361 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:36:38.802185Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0\n2026-05-27T10:36:38.806546Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0\n2026-05-27T10:37:05.194164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)\n2026-05-27T10:37:07.730220Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:37:08.341624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)\n2026-05-27T10:37:11.202125Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=1 total_pairs=530 total_evicted=362 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:37:11.202403Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0\n2026-05-27T10:37:11.207033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0\n2026-05-27T10:37:12.718238Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74696 paired=1 still_pending=0\n2026-05-27T10:37:20.115681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74697 paired=1 still_pending=0\n2026-05-27T10:37:22.362104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=0\n2026-05-27T10:37:22.377498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=2\n2026-05-27T10:37:22.378336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=537 row_id=75388 frame_id=74701\n2026-05-27T10:37:22.379136Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=538 row_id=75389 frame_id=74701\n2026-05-27T10:37:29.232294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)\n2026-05-27T10:37:31.964854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74704 paired=2 still_pending=0\n2026-05-27T10:37:32.183353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=click)\n2026-05-27T10:37:37.899079Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:37:39.779008Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=540 total_evicted=363 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:37:39.779242Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74705 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:37:41.051056Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:37:44.849477Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)\n2026-05-27T10:37:47.984977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)\n2026-05-27T10:37:54.167046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T10:38:03.465869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)\n2026-05-27T10:38:08.687319Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:38:09.661305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)\n2026-05-27T10:38:12.803020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)\n2026-05-27T10:38:28.254710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)\n2026-05-27T10:38:30.396377Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=542 total_evicted=368 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:38:30.396612Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74706 paired=2 still_pending=0\n2026-05-27T10:38:37.805958Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:38:49.836485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T10:38:58.461033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0\n2026-05-27T10:38:58.465841Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0\n2026-05-27T10:39:00.897726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=0\n2026-05-27T10:39:00.900298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=2\n2026-05-27T10:39:00.900710Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=549 row_id=75400 frame_id=74714\n2026-05-27T10:39:00.901170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=550 row_id=75401 frame_id=74714\n2026-05-27T10:39:06.772643Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:39:07.139410Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:39:07.470101Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:39:07.817558Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:39:08.100216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8751693788434476499, trigger=click)\n2026-05-27T10:39:11.481654Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74716 paired=2 still_pending=0\n2026-05-27T10:39:11.750262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6281539165544966502, trigger=click)\n2026-05-27T10:39:14.477538Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74717 paired=2 still_pending=0\n2026-05-27T10:39:19.739455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:39:22.885369Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:39:41.852523Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:39:44.244561Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:39:50.557872Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:39:56.764268Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:39:59.929084Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:41:10.769262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)\n2026-05-27T10:41:13.396400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)\n2026-05-27T10:41:27.774640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74719 paired=2 still_pending=0\n2026-05-27T10:41:27.777545Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=556 total_evicted=373 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:41:28.789568Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=103 elapsed=1.077141833s\n2026-05-27T10:41:28.789700Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames\n2026-05-27T10:41:35.245508Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0\n2026-05-27T10:41:35.271579Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0\n2026-05-27T10:41:35.701912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 10.1MB → 3.8MB (2.7x), 55 JPEGs deleted\n2026-05-27T10:41:39.071588Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:41:40.453904Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 7.4MB → 2.0MB (3.7x), 46 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:41:42.779975Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks\n2026-05-27T10:41:49.027970Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74734 paired=1 still_pending=0\n2026-05-27T10:41:54.788261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T10:42:05.144866Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74742 paired=1 still_pending=0\n2026-05-27T10:42:06.582444Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:42:06.843637Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:42:09.596353Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:43:38.057719Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:43:43.569346Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:44:09.146196Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:45:23.785916Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=0 total_pairs=560 total_evicted=376 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:45:23.786179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74748 paired=1 still_pending=0\n2026-05-27T10:45:24.940282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74786 paired=1 still_pending=0\n2026-05-27T10:45:29.802515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6862513116478460994, trigger=visual_change)\n2026-05-27T10:45:29.870180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=563 row_id=75419 frame_id=74786\n2026-05-27T10:45:29.873329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=564 row_id=75420 frame_id=74789\n2026-05-27T10:45:29.873722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=565 row_id=75421 frame_id=74789\n2026-05-27T10:45:39.152749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8281068984975041413, trigger=visual_change)\n2026-05-27T10:45:54.661364Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)\n2026-05-27T10:45:57.781035Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)\n2026-05-27T10:46:04.115060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)\n2026-05-27T10:46:07.299136Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)\n2026-05-27T10:46:10.500428Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=click)\n2026-05-27T10:46:20.108299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)\n2026-05-27T10:46:23.255295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)\n2026-05-27T10:46:34.775104Z INFO screenpipe_db::db: created new speaker id=82 (no existing match within threshold)\n2026-05-27T10:46:44.692921Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=38 elapsed=4.22927575s\n2026-05-27T10:46:44.693639Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 38 eligible frames\n2026-05-27T10:46:44.768230Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)\n2026-05-27T10:46:47.539847Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 4.5MB → 1.9MB (2.4x), 22 JPEGs deleted\n2026-05-27T10:46:47.898858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)\n2026-05-27T10:46:48.704833Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.9MB → 0.3MB (8.7x), 14 JPEGs deleted\n2026-05-27T10:47:30.845429Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=324148660677850927, trigger=visual_change)\n2026-05-27T10:47:31.133058Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=1 pending_frames=0 total_pairs=565 total_evicted=380 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:47:31.133211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74793 paired=2 still_pending=0\n2026-05-27T10:47:39.504097Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:47:41.519243Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0\n2026-05-27T10:47:41.522121Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:47:44.365124Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T10:47:46.103074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74808 paired=1 still_pending=0\n2026-05-27T10:47:46.115167Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=571 row_id=75427 frame_id=74810\n2026-05-27T10:47:49.351709Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74811 paired=1 still_pending=0\n2026-05-27T10:47:49.778815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74813 paired=1 still_pending=0\n2026-05-27T10:47:52.292862Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74814 paired=1 still_pending=0\n2026-05-27T10:47:55.519188Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74815 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-27T10:48:03.750757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)\n2026-05-27T10:48:12.999947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)\n2026-05-27T10:48:13.601770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74818 paired=1 still_pending=0\n2026-05-27T10:48:19.245059Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74823 paired=1 still_pending=0\n2026-05-27T10:48:20.392916Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=351139886521669435, trigger=visual_change)\n2026-05-27T10:48:20.561783Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74826 paired=1 still_pending=0\n2026-05-27T10:48:22.234456Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=579 row_id=75436 frame_id=74827\n2026-05-27T10:48:23.362373Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74829 paired=1 still_pending=0\n2026-05-27T10:48:31.033187Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=581 row_id=75439 frame_id=74831\n2026-05-27T10:48:34.542082Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=581 total_evicted=382 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:48:38.516524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8835137622839399697, trigger=visual_change)\n2026-05-27T10:48:39.454969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7851543753003591938, trigger=visual_change)\n2026-05-27T10:48:39.994608Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=582 row_id=75441 frame_id=74836\n2026-05-27T10:48:40.650038Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74838 paired=1 still_pending=0\n2026-05-27T10:48:41.263828Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8828367637830510212, trigger=click)\n2026-05-27T10:48:42.174562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=584 row_id=75443 frame_id=74840\n2026-05-27T10:48:44.683767Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7926243118367575, trigger=visual_change)\n2026-05-27T10:48:44.896658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=584 total_evicted=383 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:48:44.896895Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=585 row_id=75445 frame_id=74841\n2026-05-27T10:48:46.056031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74843 paired=1 still_pending=0\n2026-05-27T10:48:48.845147Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=587 row_id=75448 frame_id=74845\n2026-05-27T10:48:51.275282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=588 row_id=75449 frame_id=74847\n2026-05-27T10:48:53.293443Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74849 paired=1 still_pending=0\n2026-05-27T10:48:56.208700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74851 paired=1 still_pending=0\n2026-05-27T10:48:59.176524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74853 paired=1 still_pending=0\n2026-05-27T10:49:00.349380Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74855 paired=1 still_pending=0\n2026-05-27T10:49:03.413713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)\n2026-05-27T10:49:06.543816Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:06.637710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:08.324034Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:49:08.664754Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:49:09.636214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)\n2026-05-27T10:49:12.784517Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)\n2026-05-27T10:49:12.993702Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=593 row_id=75455 frame_id=74857\n2026-05-27T10:49:13.177475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:17.544041Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=593 total_evicted=384 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:49:17.544223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74858 paired=1 still_pending=0\n2026-05-27T10:49:17.609729Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:17.709903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=595 row_id=75457 frame_id=74860\n2026-05-27T10:49:17.762481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:19.138578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=visual_change)\n2026-05-27T10:49:19.523959Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=596 row_id=75458 frame_id=74858\n2026-05-27T10:49:19.542760Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=19 total_pairs=596 total_evicted=385 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:49:19.594743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=click)\n2026-05-27T10:49:43.842958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8201919100771035126, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:49:45.194360Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T10:49:46.606320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=9 pending_events=0 pending_frames=11 total_pairs=596 total_evicted=394 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:49:46.606672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=597 row_id=75459 frame_id=74862\n2026-05-27T10:49:51.439722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1021942438266116204, trigger=visual_change)\n2026-05-27T10:49:57.772158Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5275664159014309534, trigger=visual_change)\n2026-05-27T10:50:05.975199Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:50:10.203979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=visual_change)\n2026-05-27T10:50:13.008938Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=1 pending_frames=4 total_pairs=597 total_evicted=401 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:50:13.010176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=1 still_pending=0\n2026-05-27T10:50:13.014567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=3 still_pending=0\n2026-05-27T10:50:13.241765Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=click)\n2026-05-27T10:50:53.467165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)\n2026-05-27T10:50:56.597593Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)\n2026-05-27T10:50:59.739002Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)\n2026-05-27T10:51:06.132457Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9096346061608388843, trigger=visual_change)\n2026-05-27T10:51:09.336010Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=2 pending_frames=1 total_pairs=601 total_evicted=405 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:51:09.336225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74877 paired=2 still_pending=0\n2026-05-27T10:51:21.604110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=visual_change)\n2026-05-27T10:51:22.055285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=603 total_evicted=406 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:51:22.055543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0\n2026-05-27T10:51:22.057517Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0\n2026-05-27T10:51:22.160975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=click)\n2026-05-27T10:51:33.786507Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:51:34.241453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:51:46.024317Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:51:49.530490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)\n2026-05-27T10:51:50.135374Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=48 elapsed=1.422438792s\n2026-05-27T10:51:50.135691Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames\n2026-05-27T10:51:52.705843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)\n2026-05-27T10:51:53.343898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 6.4MB → 2.6MB (2.5x), 31 JPEGs deleted\n2026-05-27T10:51:54.784598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.6MB (4.7x), 15 JPEGs deleted\n2026-05-27T10:52:03.972202Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:52:05.016297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)\n2026-05-27T10:52:08.161325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)\n2026-05-27T10:52:14.349460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)\n2026-05-27T10:52:34.334962Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:52:35.620623Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:52:36.480915Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T10:53:27.969672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)\n2026-05-27T10:53:34.270392Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:53:37.196546Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:53:46.822864Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:53:55.581368Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)\n2026-05-27T10:53:58.715295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)\n2026-05-27T10:54:02.829943Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:54:17.402312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8648087632458352271, trigger=visual_change)\n2026-05-27T10:54:32.940665Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:36.100699Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:42.273843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:48.452077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:51.596005Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:57.804909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:55:03.190911Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:55:03.510766Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:55:03.850354Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:55:07.308149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7385108447587807041, trigger=visual_change)\n2026-05-27T10:55:10.445221Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7385108447587807041, trigger=visual_change)\n2026-05-27T10:55:16.626502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7385108447587807041, trigger=visual_change)\n2026-05-27T10:55:19.769340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7385108447587807041, trigger=visual_change)\n2026-05-27T10:55:29.177525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7490568551420502276, trigger=visual_change)\n2026-05-27T10:55:32.350133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7490568551420502276, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:55:47.693787Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T10:56:19.273733Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=0 total_pairs=605 total_evicted=409 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:56:19.274317Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74885 paired=1 still_pending=0\n2026-05-27T10:56:19.277264Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74885 paired=1 still_pending=0\n2026-05-27T10:56:27.555195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8805880771663545660, trigger=visual_change)\n2026-05-27T10:56:32.877385Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74912 paired=1 still_pending=0\n2026-05-27T10:56:32.878923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74912 paired=1 still_pending=0\n2026-05-27T10:56:34.314630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7387538499067110487, trigger=visual_change)\n2026-05-27T10:56:40.516428Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7387538499067110487, trigger=visual_change)\n2026-05-27T10:56:43.674695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7387538499067110487, trigger=visual_change)\n2026-05-27T10:56:53.155393Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2623522005104392603, trigger=visual_change)\n2026-05-27T10:56:56.277504Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2623522005104392603, trigger=visual_change)\n2026-05-27T10:56:57.400569Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=63 elapsed=2.545045291s\n2026-05-27T10:56:57.400867Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 63 eligible frames\n2026-05-27T10:56:59.431550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2623522005104392603, trigger=visual_change)\n2026-05-27T10:57:01.298486Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 8.8MB → 3.6MB (2.4x), 41 JPEGs deleted\n2026-05-27T10:57:03.541187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.6MB → 0.9MB (3.9x), 20 JPEGs deleted\n2026-05-27T10:57:04.454822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74915 paired=1 still_pending=0\n2026-05-27T10:57:04.456336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74915 paired=1 still_pending=0\n2026-05-27T10:57:11.922967Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3550101139758322869, trigger=visual_change)\n2026-05-27T10:57:12.339808Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74921 paired=1 still_pending=0\n2026-05-27T10:57:12.342646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74921 paired=1 still_pending=0\n2026-05-27T10:57:12.521603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3550101139758322869, trigger=click)\n2026-05-27T10:57:28.270605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74924 paired=1 still_pending=0\n2026-05-27T10:57:28.273895Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=3 total_pairs=614 total_evicted=410 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:57:28.274075Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74924 paired=1 still_pending=0\n2026-05-27T10:57:31.273394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74928 paired=1 still_pending=0\n2026-05-27T10:57:31.276335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74928 paired=1 still_pending=0\n2026-05-27T10:57:32.935193Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:33.626250Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:34.709788Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:37.014047Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4497664561537383823, trigger=visual_change)\n2026-05-27T10:57:37.617495Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:38.989038Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:40.150105Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4497664561537383823, trigger=visual_change)\n2026-05-27T10:57:43.305551Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4497664561537383823, trigger=visual_change)\n2026-05-27T10:57:46.442702Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4497664561537383823, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:57:48.528879Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:57:50.951750Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=617 total_evicted=411 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:57:50.952046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=618 row_id=75480 frame_id=74930\n2026-05-27T10:57:50.954490Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=619 row_id=75481 frame_id=74930\n2026-05-27T10:57:52.096393Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74934 paired=1 still_pending=0\n2026-05-27T10:57:52.141930Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=621 row_id=75483 frame_id=74934\n2026-05-27T10:57:52.143063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=622 row_id=75484 frame_id=74934\n2026-05-27T10:57:52.143442Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=623 row_id=75485 frame_id=74934\n2026-05-27T10:57:54.203267Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74936 paired=1 still_pending=0\n2026-05-27T10:57:55.843935Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74937 paired=1 still_pending=0\n2026-05-27T10:57:55.846698Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=626 row_id=75488 frame_id=74937\n2026-05-27T10:58:00.545228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74939 paired=1 still_pending=0\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T10:58:06.494392Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1318298225994592675, trigger=typing_pause)\n2026-05-27T10:58:08.090056Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=6 total_pairs=627 total_evicted=412 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:58:08.090250Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74940 paired=1 still_pending=0\n2026-05-27T10:58:08.438035Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1318298225994592675, trigger=click)\n2026-05-27T10:58:10.055821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74942 paired=1 still_pending=0\n2026-05-27T10:58:13.144008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74943 paired=1 still_pending=0\n2026-05-27T10:58:16.380649Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=630 total_evicted=413 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:58:16.380762Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74945 paired=1 still_pending=0\n2026-05-27T10:58:26.139947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74948 paired=1 still_pending=0\n2026-05-27T10:58:39.573077Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=632 total_evicted=415 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:58:39.573195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:59:49.321507Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T11:00:01.874598Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:00:02.183117Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:00:02.456064Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:00:24.528393Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5612660574143752611, trigger=visual_change)\n2026-05-27T11:01:04.034125Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=0 pending_frames=0 total_pairs=633 total_evicted=422 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:01:04.035663Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74954 paired=1 still_pending=0\n2026-05-27T11:01:08.026138Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74989 paired=1 still_pending=0\n2026-05-27T11:01:09.602760Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74991 paired=1 still_pending=0\n2026-05-27T11:01:11.537017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=637 row_id=75501 frame_id=74993\n2026-05-27T11:01:15.103906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74995 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:01:50.095158Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T11:02:06.559356Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=93 elapsed=3.006789458s\n2026-05-27T11:02:06.559529Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 93 eligible frames\n2026-05-27T11:02:10.668252Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 9.7MB → 4.0MB (2.4x), 45 JPEGs deleted\n2026-05-27T11:02:13.996428Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 5.1MB → 1.3MB (3.9x), 46 JPEGs deleted\n2026-05-27T11:02:17.600106Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=1 pending_frames=0 total_pairs=638 total_evicted=427 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:02:17.600361Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74997 paired=1 still_pending=0\n2026-05-27T11:02:31.827805Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:02:43.310898Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75012 paired=1 still_pending=0\n2026-05-27T11:02:46.182088Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75024 paired=1 still_pending=0\n2026-05-27T11:02:48.877994Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75027 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-27T11:03:30.613903Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=642 total_evicted=428 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:03:30.614328Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75031 paired=1 still_pending=0\n2026-05-27T11:03:31.816076Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:03:33.128359Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75046 paired=1 still_pending=0\n2026-05-27T11:03:34.291874Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75049 paired=1 still_pending=0\n2026-05-27T11:03:34.296993Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=646 row_id=75510 frame_id=75049\n2026-05-27T11:03:44.624247Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=646 total_evicted=429 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:03:46.705941Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75052 paired=1 still_pending=0\n2026-05-27T11:03:46.711101Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=648 row_id=75512 frame_id=75052\n2026-05-27T11:03:46.712282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=649 row_id=75513 frame_id=75052\n2026-05-27T11:03:46.713094Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=650 row_id=75514 frame_id=75052\n2026-05-27T11:03:49.625490Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=4 total_pairs=650 total_evicted=431 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:03:50.996149Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T11:04:01.697501Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:04:18.401881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75056 paired=2 still_pending=0\n2026-05-27T11:04:19.511041Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75059 paired=1 still_pending=0\n2026-05-27T11:04:19.513341Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=654 row_id=75518 frame_id=75060\n2026-05-27T11:04:32.532101Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:04:32.866426Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:04:34.626399Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=4 total_pairs=654 total_evicted=433 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:04:38.511384Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75067 paired=1 still_pending=0\n2026-05-27T11:04:38.514387Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=656 row_id=75520 frame_id=75067\n2026-05-27T11:04:49.626929Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=3 total_pairs=656 total_evicted=435 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:04:57.642980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3653001704353754601, trigger=visual_change)\n2026-05-27T11:05:00.303097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75072 paired=1 still_pending=0\n2026-05-27T11:05:03.281230Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:05:11.123392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75076 paired=1 still_pending=0\n2026-05-27T11:05:19.136711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75082 paired=1 still_pending=0\n2026-05-27T11:05:19.635950Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=659 total_evicted=436 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:05:29.627672Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=659 total_evicted=437 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:05:32.507218Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:05:39.628724Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=659 total_evicted=438 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:05:47.593930Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75094 paired=1 still_pending=0\n2026-05-27T11:05:47.769098Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8344515531451102961, trigger=click)\n2026-05-27T11:05:48.377305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75097 paired=1 still_pending=0\n2026-05-27T11:05:49.896744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=662 row_id=75531 frame_id=75099\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:05:52.334364Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T11:05:59.582693Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:06:01.582003Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:02.894730Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=5 total_pairs=662 total_evicted=440 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:06:02.894976Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=663 row_id=75534 frame_id=75102\n2026-05-27T11:06:04.711473Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75105 paired=1 still_pending=0\n2026-05-27T11:06:06.694630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75107 paired=1 still_pending=0\n2026-05-27T11:06:09.632525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:06:14.962972Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75110 paired=1 still_pending=0\n2026-05-27T11:06:24.160310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75113 paired=1 still_pending=0\n2026-05-27T11:06:29.234217Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=667 total_evicted=441 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:06:29.234456Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75117 paired=1 still_pending=0\n2026-05-27T11:06:30.639484Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:30.969615Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:32.818337Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:34.206365Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:49.124971Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=7 total_pairs=668 total_evicted=443 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:06:49.131668Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75122 paired=1 still_pending=0\n2026-05-27T11:06:54.013752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:06:54.034264Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75135 paired=1 still_pending=0\n2026-05-27T11:06:54.047151Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=671 row_id=75545 frame_id=75135\n2026-05-27T11:06:54.049049Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=672 row_id=75546 frame_id=75135\n2026-05-27T11:06:54.630159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=7 total_pairs=672 total_evicted=444 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:06:55.808272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=click)\n2026-05-27T11:06:56.667097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75135 paired=1 still_pending=0\n2026-05-27T11:06:57.109809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:06:58.384638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:07:02.190684Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:07:04.630166Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=7 total_pairs=673 total_evicted=445 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:09.630702Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=5 total_pairs=673 total_evicted=447 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:18.339895Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=37 elapsed=4.330698625s\n2026-05-27T11:07:18.340098Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 37 eligible frames\n2026-05-27T11:07:19.630468Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=673 total_evicted=448 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:21.088455Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 4.8MB → 2.1MB (2.3x), 22 JPEGs deleted\n2026-05-27T11:07:21.993884Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (12.5x), 13 JPEGs deleted\n2026-05-27T11:07:23.475458Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:07:24.630989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=673 total_evicted=449 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:28.700700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75137 paired=1 still_pending=0\n2026-05-27T11:07:29.910002Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=674 total_evicted=450 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:30.978885Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75138 paired=1 still_pending=0\n2026-05-27T11:07:31.018407Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75138 paired=1 still_pending=0\n2026-05-27T11:07:31.666019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75139 paired=1 still_pending=0\n2026-05-27T11:07:32.768952Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:07:34.061212Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75140 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:07:54.429408Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T11:07:59.344291Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=2 total_pairs=678 total_evicted=452 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:59.344757Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75142 paired=1 still_pending=0\n2026-05-27T11:08:00.494605Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:02.701961Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T11:08:10.229569Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:08:25.415969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:08:31.333214Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:31.711265Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:33.143049Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:33.474761Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:50.826713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:02.997884Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:09.103149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:12.153038Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:30.859513Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:09:40.114226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:44.215647Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=0 total_pairs=679 total_evicted=454 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:09:44.219705Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75151 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:09:55.288329Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T11:10:15.429982Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75161 paired=1 still_pending=0\n2026-05-27T11:10:20.208149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:10:24.361509Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75167 paired=1 still_pending=0\n2026-05-27T11:10:24.732361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=click)\n2026-05-27T11:10:26.277877Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:10:29.326633Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:10:30.274287Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:10:30.508712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75171 paired=1 still_pending=0\n2026-05-27T11:10:30.726533Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:10:31.781057Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75172 paired=1 still_pending=0\n2026-05-27T11:10:31.787507Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=685 row_id=75567 frame_id=75172\n2026-05-27T11:10:31.788973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=686 row_id=75568 frame_id=75172\n2026-05-27T11:10:31.790241Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=687 row_id=75569 frame_id=75172\n2026-05-27T11:10:35.434575Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75174 paired=2 still_pending=0\n2026-05-27T11:10:37.917518Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75176 paired=2 still_pending=0\n2026-05-27T11:10:39.094493Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75177 paired=2 still_pending=0\n2026-05-27T11:10:45.951901Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=693 total_evicted=455 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:10:45.952125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75179 paired=2 still_pending=0\n2026-05-27T11:10:46.186183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4202602268494152607, trigger=click)\n2026-05-27T11:10:48.032388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75180 paired=2 still_pending=0\n2026-05-27T11:10:48.076782Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4202602268494152607, trigger=visual_change)\n2026-05-27T11:10:48.176343Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=698 row_id=75587 frame_id=75180\n2026-05-27T11:10:49.949133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=699 row_id=75588 frame_id=75182\n2026-05-27T11:10:51.703804Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75184 paired=2 still_pending=0\n2026-05-27T11:10:53.848550Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75185 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:11:55.975929Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T11:12:25.892643Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=92 elapsed=3.886815333s\n2026-05-27T11:12:25.892946Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 92 eligible frames\n2026-05-27T11:12:29.188017Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 11.1MB → 4.3MB (2.6x), 55 JPEGs deleted\n2026-05-27T11:12:31.518128Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 7.2MB → 2.5MB (2.8x), 35 JPEGs deleted\n2026-05-27T11:13:04.683340Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), -1 pages in WAL\n2026-05-27T11:13:55.767324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=8 pending_events=1 pending_frames=0 total_pairs=702 total_evicted=463 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:13:55.767604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75186 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:13:56.299494Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T11:14:00.385420Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9099119862691903878, trigger=visual_change)\n2026-05-27T11:14:11.679203Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4511363005429599750, trigger=click)\n2026-05-27T11:14:12.756116Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4511363005429599750, trigger=visual_change)\n2026-05-27T11:14:13.171174Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75204 paired=2 still_pending=0\n2026-05-27T11:14:13.250023Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4511363005429599750, trigger=click)\n2026-05-27T11:14:13.279812Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect\n2026-05-27T11:14:13.279873Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)\n2026-05-27T11:14:15.163574Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-27T11:14:15.163749Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-27T11:14:15.288982Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-27T11:14:15.289046Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-27T11:14:15.289073Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-27T11:14:19.729842Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=706 row_id=75596 frame_id=75204\n2026-05-27T11:14:19.734601Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=707 row_id=75597 frame_id=75204\n2026-05-27T11:14:25.074614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75212 paired=1 still_pending=0\n2026-05-27T11:14:26.187503Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75213 paired=1 still_pending=0\n2026-05-27T11:14:27.387803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75214 paired=1 still_pending=0\n2026-05-27T11:14:27.392566Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=711 row_id=75607 frame_id=75214\n2026-05-27T11:14:30.022832Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75216 paired=1 still_pending=0\n2026-05-27T11:14:33.854808Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75217 paired=1 still_pending=0\n2026-05-27T11:14:37.672528Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75218 paired=1 still_pending=0\n2026-05-27T11:14:46.123943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75219 paired=1 still_pending=0\n2026-05-27T11:14:46.485002Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6268996426614625367, trigger=click)\n2026-05-27T11:14:50.322394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75219 paired=1 still_pending=0\n2026-05-27T11:14:50.676854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6268996426614625367, trigger=click)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16388889,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.16388889,"top":0.05888889,"width":0.16388889,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.16805555,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.32777777,"top":0.05888889,"width":0.16388889,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33194444,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.49166667,"top":0.05888889,"width":0.16388889,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49583334,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.65555555,"top":0.05888889,"width":0.16388889,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6597222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-129-190:~ (nc)","depth":2,"bounds":{"left":0.8194444,"top":0.05888889,"width":0.16388889,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.82361114,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.47083333,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-1321135345920496812
|
-6561383984579136143
|
click
|
accessibility
|
NULL
|
whisper_init_state: kv self size = 3.15 MB
whi whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:35:40.141806Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:35:42.355871Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=visual_change)
2026-05-27T10:35:42.371601Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:35:42.745658Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:35:53.651441Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=526 total_evicted=360 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:35:53.651830Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=527 row_id=75378 frame_id=74684
2026-05-27T10:35:53.653855Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=528 row_id=75379 frame_id=74684
2026-05-27T10:35:53.772857Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=click)
2026-05-27T10:36:18.803558Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=122 elapsed=2.571758125s
2026-05-27T10:36:18.804640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames
2026-05-27T10:36:23.560483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 62 frames, 11.2MB → 3.4MB (3.3x), 62 JPEGs deleted
2026-05-27T10:36:25.059395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-984683312732951898, trigger=visual_change)
2026-05-27T10:36:27.704100Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.4MB → 3.3MB (3.8x), 58 JPEGs deleted
2026-05-27T10:36:38.801895Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=1 total_pairs=528 total_evicted=361 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:36:38.802185Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0
2026-05-27T10:36:38.806546Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0
2026-05-27T10:37:05.194164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)
2026-05-27T10:37:07.730220Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:37:08.341624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)
2026-05-27T10:37:11.202125Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=1 total_pairs=530 total_evicted=362 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:37:11.202403Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0
2026-05-27T10:37:11.207033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0
2026-05-27T10:37:12.718238Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74696 paired=1 still_pending=0
2026-05-27T10:37:20.115681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74697 paired=1 still_pending=0
2026-05-27T10:37:22.362104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=0
2026-05-27T10:37:22.377498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=2
2026-05-27T10:37:22.378336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=537 row_id=75388 frame_id=74701
2026-05-27T10:37:22.379136Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=538 row_id=75389 frame_id=74701
2026-05-27T10:37:29.232294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
2026-05-27T10:37:31.964854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74704 paired=2 still_pending=0
2026-05-27T10:37:32.183353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=click)
2026-05-27T10:37:37.899079Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:37:39.779008Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=540 total_evicted=363 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:37:39.779242Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74705 paired=2 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:37:41.051056Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:37:44.849477Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
2026-05-27T10:37:47.984977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
2026-05-27T10:37:54.167046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T10:38:03.465869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:08.687319Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:38:09.661305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:12.803020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:28.254710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:30.396377Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=542 total_evicted=368 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:38:30.396612Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74706 paired=2 still_pending=0
2026-05-27T10:38:37.805958Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:38:49.836485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)
2026-05-27T10:38:58.461033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0
2026-05-27T10:38:58.465841Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0
2026-05-27T10:39:00.897726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=0
2026-05-27T10:39:00.900298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=2
2026-05-27T10:39:00.900710Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=549 row_id=75400 frame_id=74714
2026-05-27T10:39:00.901170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=550 row_id=75401 frame_id=74714
2026-05-27T10:39:06.772643Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:07.139410Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:07.470101Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:07.817558Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:08.100216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8751693788434476499, trigger=click)
2026-05-27T10:39:11.481654Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74716 paired=2 still_pending=0
2026-05-27T10:39:11.750262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6281539165544966502, trigger=click)
2026-05-27T10:39:14.477538Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74717 paired=2 still_pending=0
2026-05-27T10:39:19.739455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:22.885369Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:39:41.852523Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:39:44.244561Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:50.557872Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:56.764268Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:59.929084Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:41:10.769262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)
2026-05-27T10:41:13.396400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)
2026-05-27T10:41:27.774640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74719 paired=2 still_pending=0
2026-05-27T10:41:27.777545Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=556 total_evicted=373 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:41:28.789568Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=103 elapsed=1.077141833s
2026-05-27T10:41:28.789700Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames
2026-05-27T10:41:35.245508Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0
2026-05-27T10:41:35.271579Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0
2026-05-27T10:41:35.701912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 10.1MB → 3.8MB (2.7x), 55 JPEGs deleted
2026-05-27T10:41:39.071588Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:41:40.453904Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 7.4MB → 2.0MB (3.7x), 46 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:41:42.779975Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks
2026-05-27T10:41:49.027970Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74734 paired=1 still_pending=0
2026-05-27T10:41:54.788261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)
2026-05-27T10:42:05.144866Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74742 paired=1 still_pending=0
2026-05-27T10:42:06.582444Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:42:06.843637Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:42:09.596353Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:43:38.057719Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:43:43.569346Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:44:09.146196Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:45:23.785916Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=0 total_pairs=560 total_evicted=376 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:45:23.786179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74748 paired=1 still_pending=0
2026-05-27T10:45:24.940282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74786 paired=1 still_pending=0
2026-05-27T10:45:29.802515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6862513116478460994, trigger=visual_change)
2026-05-27T10:45:29.870180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=563 row_id=75419 frame_id=74786
2026-05-27T10:45:29.873329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=564 row_id=75420 frame_id=74789
2026-05-27T10:45:29.873722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=565 row_id=75421 frame_id=74789
2026-05-27T10:45:39.152749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8281068984975041413, trigger=visual_change)
2026-05-27T10:45:54.661364Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)
2026-05-27T10:45:57.781035Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)
2026-05-27T10:46:04.115060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)
2026-05-27T10:46:07.299136Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)
2026-05-27T10:46:10.500428Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=click)
2026-05-27T10:46:20.108299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)
2026-05-27T10:46:23.255295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)
2026-05-27T10:46:34.775104Z INFO screenpipe_db::db: created new speaker id=82 (no existing match within threshold)
2026-05-27T10:46:44.692921Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=38 elapsed=4.22927575s
2026-05-27T10:46:44.693639Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 38 eligible frames
2026-05-27T10:46:44.768230Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)
2026-05-27T10:46:47.539847Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 4.5MB → 1.9MB (2.4x), 22 JPEGs deleted
2026-05-27T10:46:47.898858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)
2026-05-27T10:46:48.704833Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.9MB → 0.3MB (8.7x), 14 JPEGs deleted
2026-05-27T10:47:30.845429Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=324148660677850927, trigger=visual_change)
2026-05-27T10:47:31.133058Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=1 pending_frames=0 total_pairs=565 total_evicted=380 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:47:31.133211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74793 paired=2 still_pending=0
2026-05-27T10:47:39.504097Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:47:41.519243Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0
2026-05-27T10:47:41.522121Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:47:44.365124Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-27T10:47:46.103074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74808 paired=1 still_pending=0
2026-05-27T10:47:46.115167Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=571 row_id=75427 frame_id=74810
2026-05-27T10:47:49.351709Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74811 paired=1 still_pending=0
2026-05-27T10:47:49.778815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74813 paired=1 still_pending=0
2026-05-27T10:47:52.292862Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74814 paired=1 still_pending=0
2026-05-27T10:47:55.519188Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74815 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-27T10:48:03.750757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)
2026-05-27T10:48:12.999947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)
2026-05-27T10:48:13.601770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74818 paired=1 still_pending=0
2026-05-27T10:48:19.245059Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74823 paired=1 still_pending=0
2026-05-27T10:48:20.392916Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=351139886521669435, trigger=visual_change)
2026-05-27T10:48:20.561783Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74826 paired=1 still_pending=0
2026-05-27T10:48:22.234456Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=579 row_id=75436 frame_id=74827
2026-05-27T10:48:23.362373Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74829 paired=1 still_pending=0
2026-05-27T10:48:31.033187Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=581 row_id=75439 frame_id=74831
2026-05-27T10:48:34.542082Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=581 total_evicted=382 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:48:38.516524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8835137622839399697, trigger=visual_change)
2026-05-27T10:48:39.454969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7851543753003591938, trigger=visual_change)
2026-05-27T10:48:39.994608Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=582 row_id=75441 frame_id=74836
2026-05-27T10:48:40.650038Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74838 paired=1 still_pending=0
2026-05-27T10:48:41.263828Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8828367637830510212, trigger=click)
2026-05-27T10:48:42.174562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=584 row_id=75443 frame_id=74840
2026-05-27T10:48:44.683767Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=[CREDIT_CARD], trigger=visual_change)
2026-05-27T10:48:44.896658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=584 total_evicted=383 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:48:44.896895Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=585 row_id=75445 frame_id=74841
2026-05-27T10:48:46.056031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74843 paired=1 still_pending=0
2026-05-27T10:48:48.845147Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=587 row_id=75448 frame_id=74845
2026-05-27T10:48:51.275282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=588 row_id=75449 frame_id=74847
2026-05-27T10:48:53.293443Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74849 paired=1 still_pending=0
2026-05-27T10:48:56.208700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74851 paired=1 still_pending=0
2026-05-27T10:48:59.176524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74853 paired=1 still_pending=0
2026-05-27T10:49:00.349380Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74855 paired=1 still_pending=0
2026-05-27T10:49:03.413713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)
2026-05-27T10:49:06.543816Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:06.637710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:08.324034Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:49:08.664754Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:49:09.636214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)
2026-05-27T10:49:12.784517Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)
2026-05-27T10:49:12.993702Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=593 row_id=75455 frame_id=74857
2026-05-27T10:49:13.177475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:17.544041Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=593 total_evicted=384 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:49:17.544223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74858 paired=1 still_pending=0
2026-05-27T10:49:17.609729Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:17.709903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=595 row_id=75457 frame_id=74860
2026-05-27T10:49:17.762481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:19.138578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=visual_change)
2026-05-27T10:49:19.523959Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=596 row_id=75458 frame_id=74858
2026-05-27T10:49:19.542760Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=19 total_pairs=596 total_evicted=385 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:49:19.594743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=click)
2026-05-27T10:49:43.842958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8201919100771035126, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:49:45.194360Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-27T10:49:46.606320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=9 pending_events=0 pending_frames=11 total_pairs=596 total_evicted=394 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:49:46.606672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=597 row_id=75459 frame_id=74862
2026-05-27T10:49:51.439722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1021942438266116204, trigger=visual_change)
2026-05-27T10:49:57.772158Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5275664159014309534, trigger=visual_change)
2026-05-27T10:50:05.975199Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:50:10.203979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=visual_change)
2026-05-27T10:50:13.008938Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=1 pending_frames=4 total_pairs=597 total_evicted=401 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:50:13.010176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=1 still_pending=0
2026-05-27T10:50:13.014567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=3 still_pending=0
2026-05-27T10:50:13.241765Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=click)
2026-05-27T10:50:53.467165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)
2026-05-27T10:50:56.597593Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)
2026-05-27T10:50:59.739002Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)
2026-05-27T10:51:06.132457Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9096346061608388843, trigger=visual_change)
2026-05-27T10:51:09.336010Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=2 pending_frames=1 total_pairs=601 total_evicted=405 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:51:09.336225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74877 paired=2 still_pending=0
2026-05-27T10:51:21.604110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=visual_change)
2026-05-27T10:51:22.055285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=603 total_evicted=406 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:51:22.055543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0
2026-05-27T10:51:22.057517Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0
2026-05-27T10:51:22.160975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=click)
2026-05-27T10:51:33.786507Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:51:34.241453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:51:46.024317Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:51:49.530490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)
2026-05-27T10:51:50.135374Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=48 elapsed=1.422438792s
2026-05-27T10:51:50.135691Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames
2026-05-27T10:51:52.705843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)
2026-05-27T10:51:53.343898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 6.4MB → 2.6MB (2.5x), 31 JPEGs deleted
2026-05-27T10:51:54.784598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.6MB (4.7x), 15 JPEGs deleted
2026-05-27T10:52:03.972202Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:52:05.016297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)
2026-05-27T10:52:08.161325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)
2026-05-27T10:52:14.349460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)
2026-05-27T10:52:34.334962Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:52:35.620623Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:52:36.480915Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T10:53:27.969672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)
2026-05-27T10:53:34.270392Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:53:37.196546Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:53:46.822864Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:53:55.581368Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)
2026-05-27T10:53:58.715295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)
2026-05-27T10:54:02.829943Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:54:17.402312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8648087632458352271, trigger=visual_change)
2026-05-27T10:54:32.940665Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:36.100699Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:42.273843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:48.452077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:51.596005Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:57.804909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:55:03.190911Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:55:0...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
75221
|
2665
|
14
|
2026-05-27T08:15:09.640592+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-27/1779 /Users/lukas/.screenpipe/data/data/2026-05-27/1779869709640_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_init_state: compute buffer (cross) = 8 whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:35:40.141806Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:35:42.355871Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=visual_change)
2026-05-27T10:35:42.371601Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:35:42.745658Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:35:53.651441Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=526 total_evicted=360 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:35:53.651830Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=527 row_id=75378 frame_id=74684
2026-05-27T10:35:53.653855Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=528 row_id=75379 frame_id=74684
2026-05-27T10:35:53.772857Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=click)
2026-05-27T10:36:18.803558Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=122 elapsed=2.571758125s
2026-05-27T10:36:18.804640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames
2026-05-27T10:36:23.560483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 62 frames, 11.2MB → 3.4MB (3.3x), 62 JPEGs deleted
2026-05-27T10:36:25.059395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-984683312732951898, trigger=visual_change)
2026-05-27T10:36:27.704100Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.4MB → 3.3MB (3.8x), 58 JPEGs deleted
2026-05-27T10:36:38.801895Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=1 total_pairs=528 total_evicted=361 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:36:38.802185Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0
2026-05-27T10:36:38.806546Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0
2026-05-27T10:37:05.194164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)
2026-05-27T10:37:07.730220Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:37:08.341624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)
2026-05-27T10:37:11.202125Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=1 total_pairs=530 total_evicted=362 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:37:11.202403Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0
2026-05-27T10:37:11.207033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0
2026-05-27T10:37:12.718238Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74696 paired=1 still_pending=0
2026-05-27T10:37:20.115681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74697 paired=1 still_pending=0
2026-05-27T10:37:22.362104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=0
2026-05-27T10:37:22.377498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=2
2026-05-27T10:37:22.378336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=537 row_id=75388 frame_id=74701
2026-05-27T10:37:22.379136Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=538 row_id=75389 frame_id=74701
2026-05-27T10:37:29.232294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
2026-05-27T10:37:31.964854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74704 paired=2 still_pending=0
2026-05-27T10:37:32.183353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=click)
2026-05-27T10:37:37.899079Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:37:39.779008Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=540 total_evicted=363 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:37:39.779242Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74705 paired=2 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:37:41.051056Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:37:44.849477Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
2026-05-27T10:37:47.984977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
2026-05-27T10:37:54.167046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T10:38:03.465869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:08.687319Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:38:09.661305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:12.803020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:28.254710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:30.396377Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=542 total_evicted=368 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:38:30.396612Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74706 paired=2 still_pending=0
2026-05-27T10:38:37.805958Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:38:49.836485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)
2026-05-27T10:38:58.461033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0
2026-05-27T10:38:58.465841Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0
2026-05-27T10:39:00.897726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=0
2026-05-27T10:39:00.900298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=2
2026-05-27T10:39:00.900710Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=549 row_id=75400 frame_id=74714
2026-05-27T10:39:00.901170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=550 row_id=75401 frame_id=74714
2026-05-27T10:39:06.772643Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:07.139410Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:07.470101Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:07.817558Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:08.100216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8751693788434476499, trigger=click)
2026-05-27T10:39:11.481654Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74716 paired=2 still_pending=0
2026-05-27T10:39:11.750262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6281539165544966502, trigger=click)
2026-05-27T10:39:14.477538Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74717 paired=2 still_pending=0
2026-05-27T10:39:19.739455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:22.885369Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:39:41.852523Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:39:44.244561Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:50.557872Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:56.764268Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:59.929084Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:41:10.769262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)
2026-05-27T10:41:13.396400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)
2026-05-27T10:41:27.774640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74719 paired=2 still_pending=0
2026-05-27T10:41:27.777545Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=556 total_evicted=373 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:41:28.789568Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=103 elapsed=1.077141833s
2026-05-27T10:41:28.789700Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames
2026-05-27T10:41:35.245508Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0
2026-05-27T10:41:35.271579Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0
2026-05-27T10:41:35.701912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 10.1MB → 3.8MB (2.7x), 55 JPEGs deleted
2026-05-27T10:41:39.071588Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:41:40.453904Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 7.4MB → 2.0MB (3.7x), 46 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:41:42.779975Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks
2026-05-27T10:41:49.027970Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74734 paired=1 still_pending=0
2026-05-27T10:41:54.788261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)
2026-05-27T10:42:05.144866Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74742 paired=1 still_pending=0
2026-05-27T10:42:06.582444Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:42:06.843637Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:42:09.596353Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:43:38.057719Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:43:43.569346Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:44:09.146196Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:45:23.785916Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=0 total_pairs=560 total_evicted=376 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:45:23.786179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74748 paired=1 still_pending=0
2026-05-27T10:45:24.940282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74786 paired=1 still_pending=0
2026-05-27T10:45:29.802515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6862513116478460994, trigger=visual_change)
2026-05-27T10:45:29.870180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=563 row_id=75419 frame_id=74786
2026-05-27T10:45:29.873329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=564 row_id=75420 frame_id=74789
2026-05-27T10:45:29.873722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=565 row_id=75421 frame_id=74789
2026-05-27T10:45:39.152749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8281068984975041413, trigger=visual_change)
2026-05-27T10:45:54.661364Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)
2026-05-27T10:45:57.781035Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)
2026-05-27T10:46:04.115060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)
2026-05-27T10:46:07.299136Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)
2026-05-27T10:46:10.500428Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=click)
2026-05-27T10:46:20.108299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)
2026-05-27T10:46:23.255295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)
2026-05-27T10:46:34.775104Z INFO screenpipe_db::db: created new speaker id=82 (no existing match within threshold)
2026-05-27T10:46:44.692921Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=38 elapsed=4.22927575s
2026-05-27T10:46:44.693639Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 38 eligible frames
2026-05-27T10:46:44.768230Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)
2026-05-27T10:46:47.539847Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 4.5MB → 1.9MB (2.4x), 22 JPEGs deleted
2026-05-27T10:46:47.898858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)
2026-05-27T10:46:48.704833Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.9MB → 0.3MB (8.7x), 14 JPEGs deleted
2026-05-27T10:47:30.845429Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=324148660677850927, trigger=visual_change)
2026-05-27T10:47:31.133058Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=1 pending_frames=0 total_pairs=565 total_evicted=380 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:47:31.133211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74793 paired=2 still_pending=0
2026-05-27T10:47:39.504097Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:47:41.519243Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0
2026-05-27T10:47:41.522121Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:47:44.365124Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-27T10:47:46.103074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74808 paired=1 still_pending=0
2026-05-27T10:47:46.115167Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=571 row_id=75427 frame_id=74810
2026-05-27T10:47:49.351709Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74811 paired=1 still_pending=0
2026-05-27T10:47:49.778815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74813 paired=1 still_pending=0
2026-05-27T10:47:52.292862Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74814 paired=1 still_pending=0
2026-05-27T10:47:55.519188Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74815 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-27T10:48:03.750757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)
2026-05-27T10:48:12.999947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)
2026-05-27T10:48:13.601770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74818 paired=1 still_pending=0
2026-05-27T10:48:19.245059Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74823 paired=1 still_pending=0
2026-05-27T10:48:20.392916Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=351139886521669435, trigger=visual_change)
2026-05-27T10:48:20.561783Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74826 paired=1 still_pending=0
2026-05-27T10:48:22.234456Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=579 row_id=75436 frame_id=74827
2026-05-27T10:48:23.362373Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74829 paired=1 still_pending=0
2026-05-27T10:48:31.033187Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=581 row_id=75439 frame_id=74831
2026-05-27T10:48:34.542082Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=581 total_evicted=382 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:48:38.516524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8835137622839399697, trigger=visual_change)
2026-05-27T10:48:39.454969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7851543753003591938, trigger=visual_change)
2026-05-27T10:48:39.994608Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=582 row_id=75441 frame_id=74836
2026-05-27T10:48:40.650038Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74838 paired=1 still_pending=0
2026-05-27T10:48:41.263828Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8828367637830510212, trigger=click)
2026-05-27T10:48:42.174562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=584 row_id=75443 frame_id=74840
2026-05-27T10:48:44.683767Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=[CREDIT_CARD], trigger=visual_change)
2026-05-27T10:48:44.896658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=584 total_evicted=383 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:48:44.896895Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=585 row_id=75445 frame_id=74841
2026-05-27T10:48:46.056031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74843 paired=1 still_pending=0
2026-05-27T10:48:48.845147Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=587 row_id=75448 frame_id=74845
2026-05-27T10:48:51.275282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=588 row_id=75449 frame_id=74847
2026-05-27T10:48:53.293443Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74849 paired=1 still_pending=0
2026-05-27T10:48:56.208700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74851 paired=1 still_pending=0
2026-05-27T10:48:59.176524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74853 paired=1 still_pending=0
2026-05-27T10:49:00.349380Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74855 paired=1 still_pending=0
2026-05-27T10:49:03.413713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)
2026-05-27T10:49:06.543816Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:06.637710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:08.324034Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:49:08.664754Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:49:09.636214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)
2026-05-27T10:49:12.784517Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)
2026-05-27T10:49:12.993702Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=593 row_id=75455 frame_id=74857
2026-05-27T10:49:13.177475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:17.544041Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=593 total_evicted=384 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:49:17.544223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74858 paired=1 still_pending=0
2026-05-27T10:49:17.609729Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:17.709903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=595 row_id=75457 frame_id=74860
2026-05-27T10:49:17.762481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:19.138578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=visual_change)
2026-05-27T10:49:19.523959Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=596 row_id=75458 frame_id=74858
2026-05-27T10:49:19.542760Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=19 total_pairs=596 total_evicted=385 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:49:19.594743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=click)
2026-05-27T10:49:43.842958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8201919100771035126, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:49:45.194360Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-27T10:49:46.606320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=9 pending_events=0 pending_frames=11 total_pairs=596 total_evicted=394 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:49:46.606672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=597 row_id=75459 frame_id=74862
2026-05-27T10:49:51.439722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1021942438266116204, trigger=visual_change)
2026-05-27T10:49:57.772158Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5275664159014309534, trigger=visual_change)
2026-05-27T10:50:05.975199Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:50:10.203979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=visual_change)
2026-05-27T10:50:13.008938Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=1 pending_frames=4 total_pairs=597 total_evicted=401 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:50:13.010176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=1 still_pending=0
2026-05-27T10:50:13.014567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=3 still_pending=0
2026-05-27T10:50:13.241765Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=click)
2026-05-27T10:50:53.467165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)
2026-05-27T10:50:56.597593Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)
2026-05-27T10:50:59.739002Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)
2026-05-27T10:51:06.132457Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9096346061608388843, trigger=visual_change)
2026-05-27T10:51:09.336010Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=2 pending_frames=1 total_pairs=601 total_evicted=405 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:51:09.336225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74877 paired=2 still_pending=0
2026-05-27T10:51:21.604110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=visual_change)
2026-05-27T10:51:22.055285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=603 total_evicted=406 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:51:22.055543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0
2026-05-27T10:51:22.057517Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0
2026-05-27T10:51:22.160975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=click)
2026-05-27T10:51:33.786507Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:51:34.241453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:51:46.024317Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:51:49.530490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)
2026-05-27T10:51:50.135374Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=48 elapsed=1.422438792s
2026-05-27T10:51:50.135691Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames
2026-05-27T10:51:52.705843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)
2026-05-27T10:51:53.343898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 6.4MB → 2.6MB (2.5x), 31 JPEGs deleted
2026-05-27T10:51:54.784598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.6MB (4.7x), 15 JPEGs deleted
2026-05-27T10:52:03.972202Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:52:05.016297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)
2026-05-27T10:52:08.161325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)
2026-05-27T10:52:14.349460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)
2026-05-27T10:52:34.334962Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:52:35.620623Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:52:36.480915Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T10:53:27.969672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)
2026-05-27T10:53:34.270392Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:53:37.196546Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:53:46.822864Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:53:55.581368Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)
2026-05-27T10:53:58.715295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)
2026-05-27T10:54:02.829943Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:54:17.402312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8648087632458352271, trigger=visual_change)
2026-05-27T10:54:32.940665Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:36.100699Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:42.273843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:48.452077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:51.596005Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:57.804909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:55:03.190911Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:55:03.510766Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:55:03.850354Z INFO screenpipe_audio::transcription::handle_new_transc...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:35:40.141806Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:35:42.355871Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=visual_change)\n2026-05-27T10:35:42.371601Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:35:42.745658Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:35:53.651441Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=526 total_evicted=360 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:35:53.651830Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=527 row_id=75378 frame_id=74684\n2026-05-27T10:35:53.653855Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=528 row_id=75379 frame_id=74684\n2026-05-27T10:35:53.772857Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=click)\n2026-05-27T10:36:18.803558Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=122 elapsed=2.571758125s\n2026-05-27T10:36:18.804640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames\n2026-05-27T10:36:23.560483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 62 frames, 11.2MB → 3.4MB (3.3x), 62 JPEGs deleted\n2026-05-27T10:36:25.059395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-984683312732951898, trigger=visual_change)\n2026-05-27T10:36:27.704100Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.4MB → 3.3MB (3.8x), 58 JPEGs deleted\n2026-05-27T10:36:38.801895Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=1 total_pairs=528 total_evicted=361 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:36:38.802185Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0\n2026-05-27T10:36:38.806546Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0\n2026-05-27T10:37:05.194164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)\n2026-05-27T10:37:07.730220Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:37:08.341624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)\n2026-05-27T10:37:11.202125Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=1 total_pairs=530 total_evicted=362 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:37:11.202403Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0\n2026-05-27T10:37:11.207033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0\n2026-05-27T10:37:12.718238Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74696 paired=1 still_pending=0\n2026-05-27T10:37:20.115681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74697 paired=1 still_pending=0\n2026-05-27T10:37:22.362104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=0\n2026-05-27T10:37:22.377498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=2\n2026-05-27T10:37:22.378336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=537 row_id=75388 frame_id=74701\n2026-05-27T10:37:22.379136Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=538 row_id=75389 frame_id=74701\n2026-05-27T10:37:29.232294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)\n2026-05-27T10:37:31.964854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74704 paired=2 still_pending=0\n2026-05-27T10:37:32.183353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=click)\n2026-05-27T10:37:37.899079Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:37:39.779008Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=540 total_evicted=363 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:37:39.779242Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74705 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:37:41.051056Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:37:44.849477Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)\n2026-05-27T10:37:47.984977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)\n2026-05-27T10:37:54.167046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T10:38:03.465869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)\n2026-05-27T10:38:08.687319Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:38:09.661305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)\n2026-05-27T10:38:12.803020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)\n2026-05-27T10:38:28.254710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)\n2026-05-27T10:38:30.396377Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=542 total_evicted=368 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:38:30.396612Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74706 paired=2 still_pending=0\n2026-05-27T10:38:37.805958Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:38:49.836485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T10:38:58.461033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0\n2026-05-27T10:38:58.465841Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0\n2026-05-27T10:39:00.897726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=0\n2026-05-27T10:39:00.900298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=2\n2026-05-27T10:39:00.900710Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=549 row_id=75400 frame_id=74714\n2026-05-27T10:39:00.901170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=550 row_id=75401 frame_id=74714\n2026-05-27T10:39:06.772643Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:39:07.139410Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:39:07.470101Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:39:07.817558Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:39:08.100216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8751693788434476499, trigger=click)\n2026-05-27T10:39:11.481654Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74716 paired=2 still_pending=0\n2026-05-27T10:39:11.750262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6281539165544966502, trigger=click)\n2026-05-27T10:39:14.477538Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74717 paired=2 still_pending=0\n2026-05-27T10:39:19.739455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:39:22.885369Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:39:41.852523Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:39:44.244561Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:39:50.557872Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:39:56.764268Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:39:59.929084Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:41:10.769262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)\n2026-05-27T10:41:13.396400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)\n2026-05-27T10:41:27.774640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74719 paired=2 still_pending=0\n2026-05-27T10:41:27.777545Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=556 total_evicted=373 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:41:28.789568Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=103 elapsed=1.077141833s\n2026-05-27T10:41:28.789700Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames\n2026-05-27T10:41:35.245508Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0\n2026-05-27T10:41:35.271579Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0\n2026-05-27T10:41:35.701912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 10.1MB → 3.8MB (2.7x), 55 JPEGs deleted\n2026-05-27T10:41:39.071588Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:41:40.453904Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 7.4MB → 2.0MB (3.7x), 46 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:41:42.779975Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks\n2026-05-27T10:41:49.027970Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74734 paired=1 still_pending=0\n2026-05-27T10:41:54.788261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T10:42:05.144866Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74742 paired=1 still_pending=0\n2026-05-27T10:42:06.582444Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:42:06.843637Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:42:09.596353Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:43:38.057719Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:43:43.569346Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:44:09.146196Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:45:23.785916Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=0 total_pairs=560 total_evicted=376 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:45:23.786179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74748 paired=1 still_pending=0\n2026-05-27T10:45:24.940282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74786 paired=1 still_pending=0\n2026-05-27T10:45:29.802515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6862513116478460994, trigger=visual_change)\n2026-05-27T10:45:29.870180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=563 row_id=75419 frame_id=74786\n2026-05-27T10:45:29.873329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=564 row_id=75420 frame_id=74789\n2026-05-27T10:45:29.873722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=565 row_id=75421 frame_id=74789\n2026-05-27T10:45:39.152749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8281068984975041413, trigger=visual_change)\n2026-05-27T10:45:54.661364Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)\n2026-05-27T10:45:57.781035Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)\n2026-05-27T10:46:04.115060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)\n2026-05-27T10:46:07.299136Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)\n2026-05-27T10:46:10.500428Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=click)\n2026-05-27T10:46:20.108299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)\n2026-05-27T10:46:23.255295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)\n2026-05-27T10:46:34.775104Z INFO screenpipe_db::db: created new speaker id=82 (no existing match within threshold)\n2026-05-27T10:46:44.692921Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=38 elapsed=4.22927575s\n2026-05-27T10:46:44.693639Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 38 eligible frames\n2026-05-27T10:46:44.768230Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)\n2026-05-27T10:46:47.539847Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 4.5MB → 1.9MB (2.4x), 22 JPEGs deleted\n2026-05-27T10:46:47.898858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)\n2026-05-27T10:46:48.704833Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.9MB → 0.3MB (8.7x), 14 JPEGs deleted\n2026-05-27T10:47:30.845429Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=324148660677850927, trigger=visual_change)\n2026-05-27T10:47:31.133058Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=1 pending_frames=0 total_pairs=565 total_evicted=380 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:47:31.133211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74793 paired=2 still_pending=0\n2026-05-27T10:47:39.504097Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:47:41.519243Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0\n2026-05-27T10:47:41.522121Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:47:44.365124Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T10:47:46.103074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74808 paired=1 still_pending=0\n2026-05-27T10:47:46.115167Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=571 row_id=75427 frame_id=74810\n2026-05-27T10:47:49.351709Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74811 paired=1 still_pending=0\n2026-05-27T10:47:49.778815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74813 paired=1 still_pending=0\n2026-05-27T10:47:52.292862Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74814 paired=1 still_pending=0\n2026-05-27T10:47:55.519188Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74815 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-27T10:48:03.750757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)\n2026-05-27T10:48:12.999947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)\n2026-05-27T10:48:13.601770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74818 paired=1 still_pending=0\n2026-05-27T10:48:19.245059Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74823 paired=1 still_pending=0\n2026-05-27T10:48:20.392916Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=351139886521669435, trigger=visual_change)\n2026-05-27T10:48:20.561783Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74826 paired=1 still_pending=0\n2026-05-27T10:48:22.234456Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=579 row_id=75436 frame_id=74827\n2026-05-27T10:48:23.362373Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74829 paired=1 still_pending=0\n2026-05-27T10:48:31.033187Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=581 row_id=75439 frame_id=74831\n2026-05-27T10:48:34.542082Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=581 total_evicted=382 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:48:38.516524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8835137622839399697, trigger=visual_change)\n2026-05-27T10:48:39.454969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7851543753003591938, trigger=visual_change)\n2026-05-27T10:48:39.994608Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=582 row_id=75441 frame_id=74836\n2026-05-27T10:48:40.650038Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74838 paired=1 still_pending=0\n2026-05-27T10:48:41.263828Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8828367637830510212, trigger=click)\n2026-05-27T10:48:42.174562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=584 row_id=75443 frame_id=74840\n2026-05-27T10:48:44.683767Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7926243118367575, trigger=visual_change)\n2026-05-27T10:48:44.896658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=584 total_evicted=383 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:48:44.896895Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=585 row_id=75445 frame_id=74841\n2026-05-27T10:48:46.056031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74843 paired=1 still_pending=0\n2026-05-27T10:48:48.845147Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=587 row_id=75448 frame_id=74845\n2026-05-27T10:48:51.275282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=588 row_id=75449 frame_id=74847\n2026-05-27T10:48:53.293443Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74849 paired=1 still_pending=0\n2026-05-27T10:48:56.208700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74851 paired=1 still_pending=0\n2026-05-27T10:48:59.176524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74853 paired=1 still_pending=0\n2026-05-27T10:49:00.349380Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74855 paired=1 still_pending=0\n2026-05-27T10:49:03.413713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)\n2026-05-27T10:49:06.543816Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:06.637710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:08.324034Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:49:08.664754Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:49:09.636214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)\n2026-05-27T10:49:12.784517Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)\n2026-05-27T10:49:12.993702Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=593 row_id=75455 frame_id=74857\n2026-05-27T10:49:13.177475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:17.544041Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=593 total_evicted=384 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:49:17.544223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74858 paired=1 still_pending=0\n2026-05-27T10:49:17.609729Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:17.709903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=595 row_id=75457 frame_id=74860\n2026-05-27T10:49:17.762481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:19.138578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=visual_change)\n2026-05-27T10:49:19.523959Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=596 row_id=75458 frame_id=74858\n2026-05-27T10:49:19.542760Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=19 total_pairs=596 total_evicted=385 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:49:19.594743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=click)\n2026-05-27T10:49:43.842958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8201919100771035126, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:49:45.194360Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T10:49:46.606320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=9 pending_events=0 pending_frames=11 total_pairs=596 total_evicted=394 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:49:46.606672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=597 row_id=75459 frame_id=74862\n2026-05-27T10:49:51.439722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1021942438266116204, trigger=visual_change)\n2026-05-27T10:49:57.772158Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5275664159014309534, trigger=visual_change)\n2026-05-27T10:50:05.975199Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:50:10.203979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=visual_change)\n2026-05-27T10:50:13.008938Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=1 pending_frames=4 total_pairs=597 total_evicted=401 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:50:13.010176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=1 still_pending=0\n2026-05-27T10:50:13.014567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=3 still_pending=0\n2026-05-27T10:50:13.241765Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=click)\n2026-05-27T10:50:53.467165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)\n2026-05-27T10:50:56.597593Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)\n2026-05-27T10:50:59.739002Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)\n2026-05-27T10:51:06.132457Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9096346061608388843, trigger=visual_change)\n2026-05-27T10:51:09.336010Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=2 pending_frames=1 total_pairs=601 total_evicted=405 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:51:09.336225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74877 paired=2 still_pending=0\n2026-05-27T10:51:21.604110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=visual_change)\n2026-05-27T10:51:22.055285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=603 total_evicted=406 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:51:22.055543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0\n2026-05-27T10:51:22.057517Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0\n2026-05-27T10:51:22.160975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=click)\n2026-05-27T10:51:33.786507Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:51:34.241453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:51:46.024317Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:51:49.530490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)\n2026-05-27T10:51:50.135374Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=48 elapsed=1.422438792s\n2026-05-27T10:51:50.135691Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames\n2026-05-27T10:51:52.705843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)\n2026-05-27T10:51:53.343898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 6.4MB → 2.6MB (2.5x), 31 JPEGs deleted\n2026-05-27T10:51:54.784598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.6MB (4.7x), 15 JPEGs deleted\n2026-05-27T10:52:03.972202Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:52:05.016297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)\n2026-05-27T10:52:08.161325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)\n2026-05-27T10:52:14.349460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)\n2026-05-27T10:52:34.334962Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:52:35.620623Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:52:36.480915Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T10:53:27.969672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)\n2026-05-27T10:53:34.270392Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:53:37.196546Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:53:46.822864Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:53:55.581368Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)\n2026-05-27T10:53:58.715295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)\n2026-05-27T10:54:02.829943Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:54:17.402312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8648087632458352271, trigger=visual_change)\n2026-05-27T10:54:32.940665Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:36.100699Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:42.273843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:48.452077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:51.596005Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:57.804909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:55:03.190911Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:55:03.510766Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:55:03.850354Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:55:07.308149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7385108447587807041, trigger=visual_change)\n2026-05-27T10:55:10.445221Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7385108447587807041, trigger=visual_change)\n2026-05-27T10:55:16.626502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7385108447587807041, trigger=visual_change)\n2026-05-27T10:55:19.769340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7385108447587807041, trigger=visual_change)\n2026-05-27T10:55:29.177525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7490568551420502276, trigger=visual_change)\n2026-05-27T10:55:32.350133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7490568551420502276, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:55:47.693787Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T10:56:19.273733Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=0 total_pairs=605 total_evicted=409 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:56:19.274317Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74885 paired=1 still_pending=0\n2026-05-27T10:56:19.277264Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74885 paired=1 still_pending=0\n2026-05-27T10:56:27.555195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8805880771663545660, trigger=visual_change)\n2026-05-27T10:56:32.877385Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74912 paired=1 still_pending=0\n2026-05-27T10:56:32.878923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74912 paired=1 still_pending=0\n2026-05-27T10:56:34.314630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7387538499067110487, trigger=visual_change)\n2026-05-27T10:56:40.516428Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7387538499067110487, trigger=visual_change)\n2026-05-27T10:56:43.674695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7387538499067110487, trigger=visual_change)\n2026-05-27T10:56:53.155393Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2623522005104392603, trigger=visual_change)\n2026-05-27T10:56:56.277504Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2623522005104392603, trigger=visual_change)\n2026-05-27T10:56:57.400569Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=63 elapsed=2.545045291s\n2026-05-27T10:56:57.400867Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 63 eligible frames\n2026-05-27T10:56:59.431550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2623522005104392603, trigger=visual_change)\n2026-05-27T10:57:01.298486Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 8.8MB → 3.6MB (2.4x), 41 JPEGs deleted\n2026-05-27T10:57:03.541187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.6MB → 0.9MB (3.9x), 20 JPEGs deleted\n2026-05-27T10:57:04.454822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74915 paired=1 still_pending=0\n2026-05-27T10:57:04.456336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74915 paired=1 still_pending=0\n2026-05-27T10:57:11.922967Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3550101139758322869, trigger=visual_change)\n2026-05-27T10:57:12.339808Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74921 paired=1 still_pending=0\n2026-05-27T10:57:12.342646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74921 paired=1 still_pending=0\n2026-05-27T10:57:12.521603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3550101139758322869, trigger=click)\n2026-05-27T10:57:28.270605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74924 paired=1 still_pending=0\n2026-05-27T10:57:28.273895Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=3 total_pairs=614 total_evicted=410 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:57:28.274075Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74924 paired=1 still_pending=0\n2026-05-27T10:57:31.273394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74928 paired=1 still_pending=0\n2026-05-27T10:57:31.276335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74928 paired=1 still_pending=0\n2026-05-27T10:57:32.935193Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:33.626250Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:34.709788Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:37.014047Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4497664561537383823, trigger=visual_change)\n2026-05-27T10:57:37.617495Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:38.989038Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:40.150105Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4497664561537383823, trigger=visual_change)\n2026-05-27T10:57:43.305551Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4497664561537383823, trigger=visual_change)\n2026-05-27T10:57:46.442702Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4497664561537383823, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:57:48.528879Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:57:50.951750Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=617 total_evicted=411 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:57:50.952046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=618 row_id=75480 frame_id=74930\n2026-05-27T10:57:50.954490Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=619 row_id=75481 frame_id=74930\n2026-05-27T10:57:52.096393Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74934 paired=1 still_pending=0\n2026-05-27T10:57:52.141930Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=621 row_id=75483 frame_id=74934\n2026-05-27T10:57:52.143063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=622 row_id=75484 frame_id=74934\n2026-05-27T10:57:52.143442Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=623 row_id=75485 frame_id=74934\n2026-05-27T10:57:54.203267Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74936 paired=1 still_pending=0\n2026-05-27T10:57:55.843935Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74937 paired=1 still_pending=0\n2026-05-27T10:57:55.846698Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=626 row_id=75488 frame_id=74937\n2026-05-27T10:58:00.545228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74939 paired=1 still_pending=0\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T10:58:06.494392Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1318298225994592675, trigger=typing_pause)\n2026-05-27T10:58:08.090056Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=6 total_pairs=627 total_evicted=412 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:58:08.090250Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74940 paired=1 still_pending=0\n2026-05-27T10:58:08.438035Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1318298225994592675, trigger=click)\n2026-05-27T10:58:10.055821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74942 paired=1 still_pending=0\n2026-05-27T10:58:13.144008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74943 paired=1 still_pending=0\n2026-05-27T10:58:16.380649Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=630 total_evicted=413 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:58:16.380762Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74945 paired=1 still_pending=0\n2026-05-27T10:58:26.139947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74948 paired=1 still_pending=0\n2026-05-27T10:58:39.573077Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=632 total_evicted=415 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:58:39.573195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:59:49.321507Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T11:00:01.874598Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:00:02.183117Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:00:02.456064Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:00:24.528393Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5612660574143752611, trigger=visual_change)\n2026-05-27T11:01:04.034125Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=0 pending_frames=0 total_pairs=633 total_evicted=422 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:01:04.035663Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74954 paired=1 still_pending=0\n2026-05-27T11:01:08.026138Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74989 paired=1 still_pending=0\n2026-05-27T11:01:09.602760Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74991 paired=1 still_pending=0\n2026-05-27T11:01:11.537017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=637 row_id=75501 frame_id=74993\n2026-05-27T11:01:15.103906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74995 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:01:50.095158Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T11:02:06.559356Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=93 elapsed=3.006789458s\n2026-05-27T11:02:06.559529Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 93 eligible frames\n2026-05-27T11:02:10.668252Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 9.7MB → 4.0MB (2.4x), 45 JPEGs deleted\n2026-05-27T11:02:13.996428Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 5.1MB → 1.3MB (3.9x), 46 JPEGs deleted\n2026-05-27T11:02:17.600106Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=1 pending_frames=0 total_pairs=638 total_evicted=427 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:02:17.600361Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74997 paired=1 still_pending=0\n2026-05-27T11:02:31.827805Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:02:43.310898Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75012 paired=1 still_pending=0\n2026-05-27T11:02:46.182088Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75024 paired=1 still_pending=0\n2026-05-27T11:02:48.877994Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75027 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-27T11:03:30.613903Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=642 total_evicted=428 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:03:30.614328Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75031 paired=1 still_pending=0\n2026-05-27T11:03:31.816076Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:03:33.128359Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75046 paired=1 still_pending=0\n2026-05-27T11:03:34.291874Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75049 paired=1 still_pending=0\n2026-05-27T11:03:34.296993Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=646 row_id=75510 frame_id=75049\n2026-05-27T11:03:44.624247Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=646 total_evicted=429 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:03:46.705941Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75052 paired=1 still_pending=0\n2026-05-27T11:03:46.711101Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=648 row_id=75512 frame_id=75052\n2026-05-27T11:03:46.712282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=649 row_id=75513 frame_id=75052\n2026-05-27T11:03:46.713094Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=650 row_id=75514 frame_id=75052\n2026-05-27T11:03:49.625490Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=4 total_pairs=650 total_evicted=431 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:03:50.996149Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T11:04:01.697501Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:04:18.401881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75056 paired=2 still_pending=0\n2026-05-27T11:04:19.511041Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75059 paired=1 still_pending=0\n2026-05-27T11:04:19.513341Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=654 row_id=75518 frame_id=75060\n2026-05-27T11:04:32.532101Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:04:32.866426Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:04:34.626399Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=4 total_pairs=654 total_evicted=433 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:04:38.511384Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75067 paired=1 still_pending=0\n2026-05-27T11:04:38.514387Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=656 row_id=75520 frame_id=75067\n2026-05-27T11:04:49.626929Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=3 total_pairs=656 total_evicted=435 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:04:57.642980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3653001704353754601, trigger=visual_change)\n2026-05-27T11:05:00.303097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75072 paired=1 still_pending=0\n2026-05-27T11:05:03.281230Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:05:11.123392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75076 paired=1 still_pending=0\n2026-05-27T11:05:19.136711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75082 paired=1 still_pending=0\n2026-05-27T11:05:19.635950Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=659 total_evicted=436 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:05:29.627672Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=659 total_evicted=437 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:05:32.507218Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:05:39.628724Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=659 total_evicted=438 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:05:47.593930Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75094 paired=1 still_pending=0\n2026-05-27T11:05:47.769098Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8344515531451102961, trigger=click)\n2026-05-27T11:05:48.377305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75097 paired=1 still_pending=0\n2026-05-27T11:05:49.896744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=662 row_id=75531 frame_id=75099\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:05:52.334364Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T11:05:59.582693Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:06:01.582003Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:02.894730Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=5 total_pairs=662 total_evicted=440 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:06:02.894976Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=663 row_id=75534 frame_id=75102\n2026-05-27T11:06:04.711473Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75105 paired=1 still_pending=0\n2026-05-27T11:06:06.694630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75107 paired=1 still_pending=0\n2026-05-27T11:06:09.632525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:06:14.962972Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75110 paired=1 still_pending=0\n2026-05-27T11:06:24.160310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75113 paired=1 still_pending=0\n2026-05-27T11:06:29.234217Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=667 total_evicted=441 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:06:29.234456Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75117 paired=1 still_pending=0\n2026-05-27T11:06:30.639484Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:30.969615Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:32.818337Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:34.206365Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:49.124971Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=7 total_pairs=668 total_evicted=443 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:06:49.131668Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75122 paired=1 still_pending=0\n2026-05-27T11:06:54.013752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:06:54.034264Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75135 paired=1 still_pending=0\n2026-05-27T11:06:54.047151Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=671 row_id=75545 frame_id=75135\n2026-05-27T11:06:54.049049Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=672 row_id=75546 frame_id=75135\n2026-05-27T11:06:54.630159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=7 total_pairs=672 total_evicted=444 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:06:55.808272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=click)\n2026-05-27T11:06:56.667097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75135 paired=1 still_pending=0\n2026-05-27T11:06:57.109809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:06:58.384638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:07:02.190684Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:07:04.630166Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=7 total_pairs=673 total_evicted=445 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:09.630702Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=5 total_pairs=673 total_evicted=447 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:18.339895Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=37 elapsed=4.330698625s\n2026-05-27T11:07:18.340098Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 37 eligible frames\n2026-05-27T11:07:19.630468Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=673 total_evicted=448 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:21.088455Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 4.8MB → 2.1MB (2.3x), 22 JPEGs deleted\n2026-05-27T11:07:21.993884Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (12.5x), 13 JPEGs deleted\n2026-05-27T11:07:23.475458Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:07:24.630989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=673 total_evicted=449 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:28.700700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75137 paired=1 still_pending=0\n2026-05-27T11:07:29.910002Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=674 total_evicted=450 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:30.978885Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75138 paired=1 still_pending=0\n2026-05-27T11:07:31.018407Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75138 paired=1 still_pending=0\n2026-05-27T11:07:31.666019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75139 paired=1 still_pending=0\n2026-05-27T11:07:32.768952Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:07:34.061212Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75140 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:07:54.429408Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T11:07:59.344291Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=2 total_pairs=678 total_evicted=452 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:59.344757Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75142 paired=1 still_pending=0\n2026-05-27T11:08:00.494605Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:02.701961Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T11:08:10.229569Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:08:25.415969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:08:31.333214Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:31.711265Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:33.143049Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:33.474761Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:50.826713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:02.997884Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:09.103149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:12.153038Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:30.859513Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:09:40.114226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:44.215647Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=0 total_pairs=679 total_evicted=454 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:09:44.219705Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75151 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:09:55.288329Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T11:10:15.429982Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75161 paired=1 still_pending=0\n2026-05-27T11:10:20.208149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:10:24.361509Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75167 paired=1 still_pending=0\n2026-05-27T11:10:24.732361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=click)\n2026-05-27T11:10:26.277877Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:10:29.326633Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:10:30.274287Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:10:30.508712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75171 paired=1 still_pending=0\n2026-05-27T11:10:30.726533Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:10:31.781057Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75172 paired=1 still_pending=0\n2026-05-27T11:10:31.787507Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=685 row_id=75567 frame_id=75172\n2026-05-27T11:10:31.788973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=686 row_id=75568 frame_id=75172\n2026-05-27T11:10:31.790241Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=687 row_id=75569 frame_id=75172\n2026-05-27T11:10:35.434575Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75174 paired=2 still_pending=0\n2026-05-27T11:10:37.917518Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75176 paired=2 still_pending=0\n2026-05-27T11:10:39.094493Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75177 paired=2 still_pending=0\n2026-05-27T11:10:45.951901Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=693 total_evicted=455 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:10:45.952125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75179 paired=2 still_pending=0\n2026-05-27T11:10:46.186183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4202602268494152607, trigger=click)\n2026-05-27T11:10:48.032388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75180 paired=2 still_pending=0\n2026-05-27T11:10:48.076782Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4202602268494152607, trigger=visual_change)\n2026-05-27T11:10:48.176343Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=698 row_id=75587 frame_id=75180\n2026-05-27T11:10:49.949133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=699 row_id=75588 frame_id=75182\n2026-05-27T11:10:51.703804Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75184 paired=2 still_pending=0\n2026-05-27T11:10:53.848550Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75185 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:11:55.975929Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T11:12:25.892643Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=92 elapsed=3.886815333s\n2026-05-27T11:12:25.892946Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 92 eligible frames\n2026-05-27T11:12:29.188017Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 11.1MB → 4.3MB (2.6x), 55 JPEGs deleted\n2026-05-27T11:12:31.518128Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 7.2MB → 2.5MB (2.8x), 35 JPEGs deleted\n2026-05-27T11:13:04.683340Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), -1 pages in WAL\n2026-05-27T11:13:55.767324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=8 pending_events=1 pending_frames=0 total_pairs=702 total_evicted=463 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:13:55.767604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75186 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:13:56.299494Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T11:14:00.385420Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9099119862691903878, trigger=visual_change)\n2026-05-27T11:14:11.679203Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4511363005429599750, trigger=click)\n2026-05-27T11:14:12.756116Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4511363005429599750, trigger=visual_change)\n2026-05-27T11:14:13.171174Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75204 paired=2 still_pending=0\n2026-05-27T11:14:13.250023Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4511363005429599750, trigger=click)\n2026-05-27T11:14:13.279812Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect\n2026-05-27T11:14:13.279873Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)\n2026-05-27T11:14:15.163574Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-27T11:14:15.163749Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-27T11:14:15.288982Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-27T11:14:15.289046Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-27T11:14:15.289073Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-27T11:14:19.729842Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=706 row_id=75596 frame_id=75204\n2026-05-27T11:14:19.734601Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=707 row_id=75597 frame_id=75204\n2026-05-27T11:14:25.074614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75212 paired=1 still_pending=0\n2026-05-27T11:14:26.187503Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75213 paired=1 still_pending=0\n2026-05-27T11:14:27.387803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75214 paired=1 still_pending=0\n2026-05-27T11:14:27.392566Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=711 row_id=75607 frame_id=75214\n2026-05-27T11:14:30.022832Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75216 paired=1 still_pending=0\n2026-05-27T11:14:33.854808Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75217 paired=1 still_pending=0\n2026-05-27T11:14:37.672528Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75218 paired=1 still_pending=0\n2026-05-27T11:14:46.123943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75219 paired=1 still_pending=0\n2026-05-27T11:14:46.485002Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6268996426614625367, trigger=click)\n2026-05-27T11:14:50.322394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75219 paired=1 still_pending=0\n2026-05-27T11:14:50.676854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6268996426614625367, trigger=click)\n2026-05-27T11:14:51.448608Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75219 paired=1 still_pending=0\n2026-05-27T11:14:51.449626Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=718 row_id=75614 frame_id=75219\n2026-05-27T11:14:59.643392Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=718 total_evicted=464 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20","depth":4,"on_screen":true,"value":"whisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:35:40.141806Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:35:42.355871Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=visual_change)\n2026-05-27T10:35:42.371601Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:35:42.745658Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:35:53.651441Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=526 total_evicted=360 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:35:53.651830Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=527 row_id=75378 frame_id=74684\n2026-05-27T10:35:53.653855Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=528 row_id=75379 frame_id=74684\n2026-05-27T10:35:53.772857Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=click)\n2026-05-27T10:36:18.803558Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=122 elapsed=2.571758125s\n2026-05-27T10:36:18.804640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames\n2026-05-27T10:36:23.560483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 62 frames, 11.2MB → 3.4MB (3.3x), 62 JPEGs deleted\n2026-05-27T10:36:25.059395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-984683312732951898, trigger=visual_change)\n2026-05-27T10:36:27.704100Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.4MB → 3.3MB (3.8x), 58 JPEGs deleted\n2026-05-27T10:36:38.801895Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=1 total_pairs=528 total_evicted=361 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:36:38.802185Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0\n2026-05-27T10:36:38.806546Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0\n2026-05-27T10:37:05.194164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)\n2026-05-27T10:37:07.730220Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:37:08.341624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)\n2026-05-27T10:37:11.202125Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=1 total_pairs=530 total_evicted=362 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:37:11.202403Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0\n2026-05-27T10:37:11.207033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0\n2026-05-27T10:37:12.718238Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74696 paired=1 still_pending=0\n2026-05-27T10:37:20.115681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74697 paired=1 still_pending=0\n2026-05-27T10:37:22.362104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=0\n2026-05-27T10:37:22.377498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=2\n2026-05-27T10:37:22.378336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=537 row_id=75388 frame_id=74701\n2026-05-27T10:37:22.379136Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=538 row_id=75389 frame_id=74701\n2026-05-27T10:37:29.232294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)\n2026-05-27T10:37:31.964854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74704 paired=2 still_pending=0\n2026-05-27T10:37:32.183353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=click)\n2026-05-27T10:37:37.899079Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:37:39.779008Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=540 total_evicted=363 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:37:39.779242Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74705 paired=2 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:37:41.051056Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:37:44.849477Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)\n2026-05-27T10:37:47.984977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)\n2026-05-27T10:37:54.167046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T10:38:03.465869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)\n2026-05-27T10:38:08.687319Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:38:09.661305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)\n2026-05-27T10:38:12.803020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)\n2026-05-27T10:38:28.254710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)\n2026-05-27T10:38:30.396377Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=542 total_evicted=368 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:38:30.396612Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74706 paired=2 still_pending=0\n2026-05-27T10:38:37.805958Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:38:49.836485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T10:38:58.461033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0\n2026-05-27T10:38:58.465841Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0\n2026-05-27T10:39:00.897726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=0\n2026-05-27T10:39:00.900298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=2\n2026-05-27T10:39:00.900710Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=549 row_id=75400 frame_id=74714\n2026-05-27T10:39:00.901170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=550 row_id=75401 frame_id=74714\n2026-05-27T10:39:06.772643Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:39:07.139410Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:39:07.470101Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:39:07.817558Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:39:08.100216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8751693788434476499, trigger=click)\n2026-05-27T10:39:11.481654Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74716 paired=2 still_pending=0\n2026-05-27T10:39:11.750262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6281539165544966502, trigger=click)\n2026-05-27T10:39:14.477538Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74717 paired=2 still_pending=0\n2026-05-27T10:39:19.739455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:39:22.885369Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:39:41.852523Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:39:44.244561Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:39:50.557872Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:39:56.764268Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:39:59.929084Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)\n2026-05-27T10:41:10.769262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)\n2026-05-27T10:41:13.396400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)\n2026-05-27T10:41:27.774640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74719 paired=2 still_pending=0\n2026-05-27T10:41:27.777545Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=556 total_evicted=373 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:41:28.789568Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=103 elapsed=1.077141833s\n2026-05-27T10:41:28.789700Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames\n2026-05-27T10:41:35.245508Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0\n2026-05-27T10:41:35.271579Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0\n2026-05-27T10:41:35.701912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 10.1MB → 3.8MB (2.7x), 55 JPEGs deleted\n2026-05-27T10:41:39.071588Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:41:40.453904Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 7.4MB → 2.0MB (3.7x), 46 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:41:42.779975Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks\n2026-05-27T10:41:49.027970Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74734 paired=1 still_pending=0\n2026-05-27T10:41:54.788261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T10:42:05.144866Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74742 paired=1 still_pending=0\n2026-05-27T10:42:06.582444Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:42:06.843637Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:42:09.596353Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:43:38.057719Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:43:43.569346Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:44:09.146196Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:45:23.785916Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=0 total_pairs=560 total_evicted=376 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:45:23.786179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74748 paired=1 still_pending=0\n2026-05-27T10:45:24.940282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74786 paired=1 still_pending=0\n2026-05-27T10:45:29.802515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6862513116478460994, trigger=visual_change)\n2026-05-27T10:45:29.870180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=563 row_id=75419 frame_id=74786\n2026-05-27T10:45:29.873329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=564 row_id=75420 frame_id=74789\n2026-05-27T10:45:29.873722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=565 row_id=75421 frame_id=74789\n2026-05-27T10:45:39.152749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8281068984975041413, trigger=visual_change)\n2026-05-27T10:45:54.661364Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)\n2026-05-27T10:45:57.781035Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)\n2026-05-27T10:46:04.115060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)\n2026-05-27T10:46:07.299136Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)\n2026-05-27T10:46:10.500428Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=click)\n2026-05-27T10:46:20.108299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)\n2026-05-27T10:46:23.255295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)\n2026-05-27T10:46:34.775104Z INFO screenpipe_db::db: created new speaker id=82 (no existing match within threshold)\n2026-05-27T10:46:44.692921Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=38 elapsed=4.22927575s\n2026-05-27T10:46:44.693639Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 38 eligible frames\n2026-05-27T10:46:44.768230Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)\n2026-05-27T10:46:47.539847Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 4.5MB → 1.9MB (2.4x), 22 JPEGs deleted\n2026-05-27T10:46:47.898858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)\n2026-05-27T10:46:48.704833Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.9MB → 0.3MB (8.7x), 14 JPEGs deleted\n2026-05-27T10:47:30.845429Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=324148660677850927, trigger=visual_change)\n2026-05-27T10:47:31.133058Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=1 pending_frames=0 total_pairs=565 total_evicted=380 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:47:31.133211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74793 paired=2 still_pending=0\n2026-05-27T10:47:39.504097Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:47:41.519243Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0\n2026-05-27T10:47:41.522121Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:47:44.365124Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T10:47:46.103074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74808 paired=1 still_pending=0\n2026-05-27T10:47:46.115167Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=571 row_id=75427 frame_id=74810\n2026-05-27T10:47:49.351709Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74811 paired=1 still_pending=0\n2026-05-27T10:47:49.778815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74813 paired=1 still_pending=0\n2026-05-27T10:47:52.292862Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74814 paired=1 still_pending=0\n2026-05-27T10:47:55.519188Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74815 paired=1 still_pending=0\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-27T10:48:03.750757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)\n2026-05-27T10:48:12.999947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)\n2026-05-27T10:48:13.601770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74818 paired=1 still_pending=0\n2026-05-27T10:48:19.245059Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74823 paired=1 still_pending=0\n2026-05-27T10:48:20.392916Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=351139886521669435, trigger=visual_change)\n2026-05-27T10:48:20.561783Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74826 paired=1 still_pending=0\n2026-05-27T10:48:22.234456Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=579 row_id=75436 frame_id=74827\n2026-05-27T10:48:23.362373Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74829 paired=1 still_pending=0\n2026-05-27T10:48:31.033187Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=581 row_id=75439 frame_id=74831\n2026-05-27T10:48:34.542082Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=581 total_evicted=382 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:48:38.516524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8835137622839399697, trigger=visual_change)\n2026-05-27T10:48:39.454969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7851543753003591938, trigger=visual_change)\n2026-05-27T10:48:39.994608Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=582 row_id=75441 frame_id=74836\n2026-05-27T10:48:40.650038Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74838 paired=1 still_pending=0\n2026-05-27T10:48:41.263828Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8828367637830510212, trigger=click)\n2026-05-27T10:48:42.174562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=584 row_id=75443 frame_id=74840\n2026-05-27T10:48:44.683767Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7926243118367575, trigger=visual_change)\n2026-05-27T10:48:44.896658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=584 total_evicted=383 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:48:44.896895Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=585 row_id=75445 frame_id=74841\n2026-05-27T10:48:46.056031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74843 paired=1 still_pending=0\n2026-05-27T10:48:48.845147Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=587 row_id=75448 frame_id=74845\n2026-05-27T10:48:51.275282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=588 row_id=75449 frame_id=74847\n2026-05-27T10:48:53.293443Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74849 paired=1 still_pending=0\n2026-05-27T10:48:56.208700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74851 paired=1 still_pending=0\n2026-05-27T10:48:59.176524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74853 paired=1 still_pending=0\n2026-05-27T10:49:00.349380Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74855 paired=1 still_pending=0\n2026-05-27T10:49:03.413713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)\n2026-05-27T10:49:06.543816Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:06.637710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:08.324034Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:49:08.664754Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:49:09.636214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)\n2026-05-27T10:49:12.784517Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)\n2026-05-27T10:49:12.993702Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=593 row_id=75455 frame_id=74857\n2026-05-27T10:49:13.177475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:17.544041Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=593 total_evicted=384 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:49:17.544223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74858 paired=1 still_pending=0\n2026-05-27T10:49:17.609729Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:17.709903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=595 row_id=75457 frame_id=74860\n2026-05-27T10:49:17.762481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)\n2026-05-27T10:49:19.138578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=visual_change)\n2026-05-27T10:49:19.523959Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=596 row_id=75458 frame_id=74858\n2026-05-27T10:49:19.542760Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=19 total_pairs=596 total_evicted=385 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:49:19.594743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=click)\n2026-05-27T10:49:43.842958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8201919100771035126, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:49:45.194360Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T10:49:46.606320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=9 pending_events=0 pending_frames=11 total_pairs=596 total_evicted=394 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:49:46.606672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=597 row_id=75459 frame_id=74862\n2026-05-27T10:49:51.439722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1021942438266116204, trigger=visual_change)\n2026-05-27T10:49:57.772158Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5275664159014309534, trigger=visual_change)\n2026-05-27T10:50:05.975199Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:50:10.203979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=visual_change)\n2026-05-27T10:50:13.008938Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=1 pending_frames=4 total_pairs=597 total_evicted=401 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:50:13.010176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=1 still_pending=0\n2026-05-27T10:50:13.014567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=3 still_pending=0\n2026-05-27T10:50:13.241765Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=click)\n2026-05-27T10:50:53.467165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)\n2026-05-27T10:50:56.597593Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)\n2026-05-27T10:50:59.739002Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)\n2026-05-27T10:51:06.132457Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9096346061608388843, trigger=visual_change)\n2026-05-27T10:51:09.336010Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=2 pending_frames=1 total_pairs=601 total_evicted=405 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:51:09.336225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74877 paired=2 still_pending=0\n2026-05-27T10:51:21.604110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=visual_change)\n2026-05-27T10:51:22.055285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=603 total_evicted=406 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:51:22.055543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0\n2026-05-27T10:51:22.057517Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0\n2026-05-27T10:51:22.160975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=click)\n2026-05-27T10:51:33.786507Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:51:34.241453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:51:46.024317Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:51:49.530490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)\n2026-05-27T10:51:50.135374Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=48 elapsed=1.422438792s\n2026-05-27T10:51:50.135691Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames\n2026-05-27T10:51:52.705843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)\n2026-05-27T10:51:53.343898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 6.4MB → 2.6MB (2.5x), 31 JPEGs deleted\n2026-05-27T10:51:54.784598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.6MB (4.7x), 15 JPEGs deleted\n2026-05-27T10:52:03.972202Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:52:05.016297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)\n2026-05-27T10:52:08.161325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)\n2026-05-27T10:52:14.349460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)\n2026-05-27T10:52:34.334962Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:52:35.620623Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:52:36.480915Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T10:53:27.969672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)\n2026-05-27T10:53:34.270392Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:53:37.196546Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:53:46.822864Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:53:55.581368Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)\n2026-05-27T10:53:58.715295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)\n2026-05-27T10:54:02.829943Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:54:17.402312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8648087632458352271, trigger=visual_change)\n2026-05-27T10:54:32.940665Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:36.100699Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:42.273843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:48.452077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:51.596005Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:54:57.804909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)\n2026-05-27T10:55:03.190911Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:55:03.510766Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:55:03.850354Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:55:07.308149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7385108447587807041, trigger=visual_change)\n2026-05-27T10:55:10.445221Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7385108447587807041, trigger=visual_change)\n2026-05-27T10:55:16.626502Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7385108447587807041, trigger=visual_change)\n2026-05-27T10:55:19.769340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7385108447587807041, trigger=visual_change)\n2026-05-27T10:55:29.177525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7490568551420502276, trigger=visual_change)\n2026-05-27T10:55:32.350133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7490568551420502276, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:55:47.693787Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T10:56:19.273733Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=0 total_pairs=605 total_evicted=409 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:56:19.274317Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74885 paired=1 still_pending=0\n2026-05-27T10:56:19.277264Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74885 paired=1 still_pending=0\n2026-05-27T10:56:27.555195Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8805880771663545660, trigger=visual_change)\n2026-05-27T10:56:32.877385Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74912 paired=1 still_pending=0\n2026-05-27T10:56:32.878923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74912 paired=1 still_pending=0\n2026-05-27T10:56:34.314630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7387538499067110487, trigger=visual_change)\n2026-05-27T10:56:40.516428Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7387538499067110487, trigger=visual_change)\n2026-05-27T10:56:43.674695Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7387538499067110487, trigger=visual_change)\n2026-05-27T10:56:53.155393Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2623522005104392603, trigger=visual_change)\n2026-05-27T10:56:56.277504Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2623522005104392603, trigger=visual_change)\n2026-05-27T10:56:57.400569Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=63 elapsed=2.545045291s\n2026-05-27T10:56:57.400867Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 63 eligible frames\n2026-05-27T10:56:59.431550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2623522005104392603, trigger=visual_change)\n2026-05-27T10:57:01.298486Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 8.8MB → 3.6MB (2.4x), 41 JPEGs deleted\n2026-05-27T10:57:03.541187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 20 frames, 3.6MB → 0.9MB (3.9x), 20 JPEGs deleted\n2026-05-27T10:57:04.454822Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74915 paired=1 still_pending=0\n2026-05-27T10:57:04.456336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74915 paired=1 still_pending=0\n2026-05-27T10:57:11.922967Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3550101139758322869, trigger=visual_change)\n2026-05-27T10:57:12.339808Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74921 paired=1 still_pending=0\n2026-05-27T10:57:12.342646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74921 paired=1 still_pending=0\n2026-05-27T10:57:12.521603Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3550101139758322869, trigger=click)\n2026-05-27T10:57:28.270605Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74924 paired=1 still_pending=0\n2026-05-27T10:57:28.273895Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=3 total_pairs=614 total_evicted=410 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:57:28.274075Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74924 paired=1 still_pending=0\n2026-05-27T10:57:31.273394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74928 paired=1 still_pending=0\n2026-05-27T10:57:31.276335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74928 paired=1 still_pending=0\n2026-05-27T10:57:32.935193Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:33.626250Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:34.709788Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:37.014047Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4497664561537383823, trigger=visual_change)\n2026-05-27T10:57:37.617495Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:38.989038Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T10:57:40.150105Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4497664561537383823, trigger=visual_change)\n2026-05-27T10:57:43.305551Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4497664561537383823, trigger=visual_change)\n2026-05-27T10:57:46.442702Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4497664561537383823, trigger=visual_change)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:57:48.528879Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T10:57:50.951750Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=617 total_evicted=411 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:57:50.952046Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=618 row_id=75480 frame_id=74930\n2026-05-27T10:57:50.954490Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=619 row_id=75481 frame_id=74930\n2026-05-27T10:57:52.096393Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74934 paired=1 still_pending=0\n2026-05-27T10:57:52.141930Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=621 row_id=75483 frame_id=74934\n2026-05-27T10:57:52.143063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=622 row_id=75484 frame_id=74934\n2026-05-27T10:57:52.143442Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=623 row_id=75485 frame_id=74934\n2026-05-27T10:57:54.203267Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74936 paired=1 still_pending=0\n2026-05-27T10:57:55.843935Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74937 paired=1 still_pending=0\n2026-05-27T10:57:55.846698Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=626 row_id=75488 frame_id=74937\n2026-05-27T10:58:00.545228Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74939 paired=1 still_pending=0\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T10:58:06.494392Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1318298225994592675, trigger=typing_pause)\n2026-05-27T10:58:08.090056Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=6 total_pairs=627 total_evicted=412 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:58:08.090250Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74940 paired=1 still_pending=0\n2026-05-27T10:58:08.438035Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1318298225994592675, trigger=click)\n2026-05-27T10:58:10.055821Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74942 paired=1 still_pending=0\n2026-05-27T10:58:13.144008Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74943 paired=1 still_pending=0\n2026-05-27T10:58:16.380649Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=630 total_evicted=413 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:58:16.380762Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74945 paired=1 still_pending=0\n2026-05-27T10:58:26.139947Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74948 paired=1 still_pending=0\n2026-05-27T10:58:39.573077Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=632 total_evicted=415 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T10:58:39.573195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74951 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T10:59:49.321507Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T11:00:01.874598Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:00:02.183117Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:00:02.456064Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:00:24.528393Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5612660574143752611, trigger=visual_change)\n2026-05-27T11:01:04.034125Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=0 pending_frames=0 total_pairs=633 total_evicted=422 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:01:04.035663Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74954 paired=1 still_pending=0\n2026-05-27T11:01:08.026138Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74989 paired=1 still_pending=0\n2026-05-27T11:01:09.602760Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74991 paired=1 still_pending=0\n2026-05-27T11:01:11.537017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=637 row_id=75501 frame_id=74993\n2026-05-27T11:01:15.103906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74995 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:01:50.095158Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T11:02:06.559356Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=93 elapsed=3.006789458s\n2026-05-27T11:02:06.559529Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 93 eligible frames\n2026-05-27T11:02:10.668252Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 9.7MB → 4.0MB (2.4x), 45 JPEGs deleted\n2026-05-27T11:02:13.996428Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 5.1MB → 1.3MB (3.9x), 46 JPEGs deleted\n2026-05-27T11:02:17.600106Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=1 pending_frames=0 total_pairs=638 total_evicted=427 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:02:17.600361Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74997 paired=1 still_pending=0\n2026-05-27T11:02:31.827805Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:02:43.310898Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75012 paired=1 still_pending=0\n2026-05-27T11:02:46.182088Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75024 paired=1 still_pending=0\n2026-05-27T11:02:48.877994Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75027 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-27T11:03:30.613903Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=642 total_evicted=428 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:03:30.614328Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75031 paired=1 still_pending=0\n2026-05-27T11:03:31.816076Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:03:33.128359Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75046 paired=1 still_pending=0\n2026-05-27T11:03:34.291874Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75049 paired=1 still_pending=0\n2026-05-27T11:03:34.296993Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=646 row_id=75510 frame_id=75049\n2026-05-27T11:03:44.624247Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=646 total_evicted=429 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:03:46.705941Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75052 paired=1 still_pending=0\n2026-05-27T11:03:46.711101Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=648 row_id=75512 frame_id=75052\n2026-05-27T11:03:46.712282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=649 row_id=75513 frame_id=75052\n2026-05-27T11:03:46.713094Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=650 row_id=75514 frame_id=75052\n2026-05-27T11:03:49.625490Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=4 total_pairs=650 total_evicted=431 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:03:50.996149Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T11:04:01.697501Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:04:18.401881Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75056 paired=2 still_pending=0\n2026-05-27T11:04:19.511041Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75059 paired=1 still_pending=0\n2026-05-27T11:04:19.513341Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=654 row_id=75518 frame_id=75060\n2026-05-27T11:04:32.532101Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:04:32.866426Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:04:34.626399Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=4 total_pairs=654 total_evicted=433 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:04:38.511384Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75067 paired=1 still_pending=0\n2026-05-27T11:04:38.514387Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=656 row_id=75520 frame_id=75067\n2026-05-27T11:04:49.626929Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=3 total_pairs=656 total_evicted=435 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:04:57.642980Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3653001704353754601, trigger=visual_change)\n2026-05-27T11:05:00.303097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75072 paired=1 still_pending=0\n2026-05-27T11:05:03.281230Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:05:11.123392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75076 paired=1 still_pending=0\n2026-05-27T11:05:19.136711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75082 paired=1 still_pending=0\n2026-05-27T11:05:19.635950Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=659 total_evicted=436 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:05:29.627672Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=659 total_evicted=437 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:05:32.507218Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:05:39.628724Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=659 total_evicted=438 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:05:47.593930Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75094 paired=1 still_pending=0\n2026-05-27T11:05:47.769098Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8344515531451102961, trigger=click)\n2026-05-27T11:05:48.377305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75097 paired=1 still_pending=0\n2026-05-27T11:05:49.896744Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=662 row_id=75531 frame_id=75099\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:05:52.334364Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T11:05:59.582693Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:06:01.582003Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:02.894730Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=5 total_pairs=662 total_evicted=440 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:06:02.894976Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=663 row_id=75534 frame_id=75102\n2026-05-27T11:06:04.711473Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75105 paired=1 still_pending=0\n2026-05-27T11:06:06.694630Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75107 paired=1 still_pending=0\n2026-05-27T11:06:09.632525Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:06:14.962972Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75110 paired=1 still_pending=0\n2026-05-27T11:06:24.160310Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75113 paired=1 still_pending=0\n2026-05-27T11:06:29.234217Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=667 total_evicted=441 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:06:29.234456Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75117 paired=1 still_pending=0\n2026-05-27T11:06:30.639484Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:30.969615Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:32.818337Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:34.206365Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:06:49.124971Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=7 total_pairs=668 total_evicted=443 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:06:49.131668Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75122 paired=1 still_pending=0\n2026-05-27T11:06:54.013752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:06:54.034264Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75135 paired=1 still_pending=0\n2026-05-27T11:06:54.047151Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=671 row_id=75545 frame_id=75135\n2026-05-27T11:06:54.049049Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=672 row_id=75546 frame_id=75135\n2026-05-27T11:06:54.630159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=7 total_pairs=672 total_evicted=444 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:06:55.808272Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=click)\n2026-05-27T11:06:56.667097Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75135 paired=1 still_pending=0\n2026-05-27T11:06:57.109809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:06:58.384638Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:07:02.190684Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:07:04.630166Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=7 total_pairs=673 total_evicted=445 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:09.630702Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=5 total_pairs=673 total_evicted=447 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:18.339895Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=37 elapsed=4.330698625s\n2026-05-27T11:07:18.340098Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 37 eligible frames\n2026-05-27T11:07:19.630468Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=673 total_evicted=448 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:21.088455Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 4.8MB → 2.1MB (2.3x), 22 JPEGs deleted\n2026-05-27T11:07:21.993884Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (12.5x), 13 JPEGs deleted\n2026-05-27T11:07:23.475458Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:07:24.630989Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=673 total_evicted=449 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:28.700700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75137 paired=1 still_pending=0\n2026-05-27T11:07:29.910002Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=674 total_evicted=450 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:30.978885Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75138 paired=1 still_pending=0\n2026-05-27T11:07:31.018407Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75138 paired=1 still_pending=0\n2026-05-27T11:07:31.666019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75139 paired=1 still_pending=0\n2026-05-27T11:07:32.768952Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:07:34.061212Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75140 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:07:54.429408Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T11:07:59.344291Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=2 total_pairs=678 total_evicted=452 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:07:59.344757Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75142 paired=1 still_pending=0\n2026-05-27T11:08:00.494605Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:02.701961Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T11:08:10.229569Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:08:25.415969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:08:31.333214Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:31.711265Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:33.143049Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:33.474761Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:08:50.826713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:02.997884Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:09.103149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:12.153038Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:30.859513Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:09:40.114226Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:09:44.215647Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=0 total_pairs=679 total_evicted=454 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:09:44.219705Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75151 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:09:55.288329Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T11:10:15.429982Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75161 paired=1 still_pending=0\n2026-05-27T11:10:20.208149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:10:24.361509Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75167 paired=1 still_pending=0\n2026-05-27T11:10:24.732361Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=click)\n2026-05-27T11:10:26.277877Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:10:29.326633Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)\n2026-05-27T11:10:30.274287Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:10:30.508712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75171 paired=1 still_pending=0\n2026-05-27T11:10:30.726533Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T11:10:31.781057Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75172 paired=1 still_pending=0\n2026-05-27T11:10:31.787507Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=685 row_id=75567 frame_id=75172\n2026-05-27T11:10:31.788973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=686 row_id=75568 frame_id=75172\n2026-05-27T11:10:31.790241Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=687 row_id=75569 frame_id=75172\n2026-05-27T11:10:35.434575Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75174 paired=2 still_pending=0\n2026-05-27T11:10:37.917518Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75176 paired=2 still_pending=0\n2026-05-27T11:10:39.094493Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75177 paired=2 still_pending=0\n2026-05-27T11:10:45.951901Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=693 total_evicted=455 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:10:45.952125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75179 paired=2 still_pending=0\n2026-05-27T11:10:46.186183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4202602268494152607, trigger=click)\n2026-05-27T11:10:48.032388Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75180 paired=2 still_pending=0\n2026-05-27T11:10:48.076782Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4202602268494152607, trigger=visual_change)\n2026-05-27T11:10:48.176343Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=698 row_id=75587 frame_id=75180\n2026-05-27T11:10:49.949133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=699 row_id=75588 frame_id=75182\n2026-05-27T11:10:51.703804Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75184 paired=2 still_pending=0\n2026-05-27T11:10:53.848550Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75185 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:11:55.975929Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T11:12:25.892643Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=92 elapsed=3.886815333s\n2026-05-27T11:12:25.892946Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 92 eligible frames\n2026-05-27T11:12:29.188017Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 11.1MB → 4.3MB (2.6x), 55 JPEGs deleted\n2026-05-27T11:12:31.518128Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 35 frames, 7.2MB → 2.5MB (2.8x), 35 JPEGs deleted\n2026-05-27T11:13:04.683340Z WARN screenpipe_db::db: wal checkpoint: busy (could not truncate), -1 pages in WAL\n2026-05-27T11:13:55.767324Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=8 pending_events=1 pending_frames=0 total_pairs=702 total_evicted=463 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T11:13:55.767604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75186 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:13:56.299494Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T11:14:00.385420Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=9099119862691903878, trigger=visual_change)\n2026-05-27T11:14:11.679203Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4511363005429599750, trigger=click)\n2026-05-27T11:14:12.756116Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4511363005429599750, trigger=visual_change)\n2026-05-27T11:14:13.171174Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75204 paired=2 still_pending=0\n2026-05-27T11:14:13.250023Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4511363005429599750, trigger=click)\n2026-05-27T11:14:13.279812Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect\n2026-05-27T11:14:13.279873Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)\n2026-05-27T11:14:15.163574Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-27T11:14:15.163749Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-27T11:14:15.288982Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-27T11:14:15.289046Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-27T11:14:15.289073Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-27T11:14:19.729842Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=706 row_id=75596 frame_id=75204\n2026-05-27T11:14:19.734601Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=707 row_id=75597 frame_id=75204\n2026-05-27T11:14:25.074614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75212 paired=1 still_pending=0\n2026-05-27T11:14:26.187503Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75213 paired=1 still_pending=0\n2026-05-27T11:14:27.387803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75214 paired=1 still_pending=0\n2026-05-27T11:14:27.392566Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=711 row_id=75607 frame_id=75214\n2026-05-27T11:14:30.022832Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75216 paired=1 still_pending=0\n2026-05-27T11:14:33.854808Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75217 paired=1 still_pending=0\n2026-05-27T11:14:37.672528Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75218 paired=1 still_pending=0\n2026-05-27T11:14:46.123943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75219 paired=1 still_pending=0\n2026-05-27T11:14:46.485002Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6268996426614625367, trigger=click)\n2026-05-27T11:14:50.322394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75219 paired=1 still_pending=0\n2026-05-27T11:14:50.676854Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6268996426614625367, trigger=click)\n2026-05-27T11:14:51.448608Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=75219 paired=1 still_pending=0\n2026-05-27T11:14:51.449626Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=718 row_id=75614 frame_id=75219\n2026-05-27T11:14:59.643392Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=718 total_evicted=464 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.078457445,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.3487367,"top":1.0,"width":0.078457445,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.35073137,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.42719415,"top":1.0,"width":0.078457445,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.42918882,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.078457445,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.58410907,"top":1.0,"width":0.078457445,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.58610374,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-129-190:~ (nc)","depth":2,"bounds":{"left":0.6625665,"top":1.0,"width":0.078457445,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.66456115,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4956782,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
6672848266390757949
|
-6561383984579136143
|
visual_change
|
accessibility
|
NULL
|
whisper_init_state: compute buffer (cross) = 8 whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:35:40.141806Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:35:42.355871Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=visual_change)
2026-05-27T10:35:42.371601Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:35:42.745658Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:35:53.651441Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=526 total_evicted=360 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:35:53.651830Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=527 row_id=75378 frame_id=74684
2026-05-27T10:35:53.653855Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=528 row_id=75379 frame_id=74684
2026-05-27T10:35:53.772857Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=click)
2026-05-27T10:36:18.803558Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=122 elapsed=2.571758125s
2026-05-27T10:36:18.804640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames
2026-05-27T10:36:23.560483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 62 frames, 11.2MB → 3.4MB (3.3x), 62 JPEGs deleted
2026-05-27T10:36:25.059395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-984683312732951898, trigger=visual_change)
2026-05-27T10:36:27.704100Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.4MB → 3.3MB (3.8x), 58 JPEGs deleted
2026-05-27T10:36:38.801895Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=1 total_pairs=528 total_evicted=361 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:36:38.802185Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0
2026-05-27T10:36:38.806546Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0
2026-05-27T10:37:05.194164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)
2026-05-27T10:37:07.730220Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:37:08.341624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)
2026-05-27T10:37:11.202125Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=1 total_pairs=530 total_evicted=362 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:37:11.202403Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0
2026-05-27T10:37:11.207033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0
2026-05-27T10:37:12.718238Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74696 paired=1 still_pending=0
2026-05-27T10:37:20.115681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74697 paired=1 still_pending=0
2026-05-27T10:37:22.362104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=0
2026-05-27T10:37:22.377498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=2
2026-05-27T10:37:22.378336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=537 row_id=75388 frame_id=74701
2026-05-27T10:37:22.379136Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=538 row_id=75389 frame_id=74701
2026-05-27T10:37:29.232294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
2026-05-27T10:37:31.964854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74704 paired=2 still_pending=0
2026-05-27T10:37:32.183353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=click)
2026-05-27T10:37:37.899079Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:37:39.779008Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=540 total_evicted=363 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:37:39.779242Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74705 paired=2 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:37:41.051056Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:37:44.849477Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
2026-05-27T10:37:47.984977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
2026-05-27T10:37:54.167046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T10:38:03.465869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:08.687319Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:38:09.661305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:12.803020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:28.254710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:30.396377Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=542 total_evicted=368 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:38:30.396612Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74706 paired=2 still_pending=0
2026-05-27T10:38:37.805958Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:38:49.836485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)
2026-05-27T10:38:58.461033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0
2026-05-27T10:38:58.465841Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0
2026-05-27T10:39:00.897726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=0
2026-05-27T10:39:00.900298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=2
2026-05-27T10:39:00.900710Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=549 row_id=75400 frame_id=74714
2026-05-27T10:39:00.901170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=550 row_id=75401 frame_id=74714
2026-05-27T10:39:06.772643Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:07.139410Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:07.470101Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:07.817558Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:08.100216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8751693788434476499, trigger=click)
2026-05-27T10:39:11.481654Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74716 paired=2 still_pending=0
2026-05-27T10:39:11.750262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6281539165544966502, trigger=click)
2026-05-27T10:39:14.477538Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74717 paired=2 still_pending=0
2026-05-27T10:39:19.739455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:22.885369Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:39:41.852523Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:39:44.244561Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:50.557872Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:56.764268Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:59.929084Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:41:10.769262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)
2026-05-27T10:41:13.396400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)
2026-05-27T10:41:27.774640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74719 paired=2 still_pending=0
2026-05-27T10:41:27.777545Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=556 total_evicted=373 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:41:28.789568Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=103 elapsed=1.077141833s
2026-05-27T10:41:28.789700Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames
2026-05-27T10:41:35.245508Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0
2026-05-27T10:41:35.271579Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0
2026-05-27T10:41:35.701912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 10.1MB → 3.8MB (2.7x), 55 JPEGs deleted
2026-05-27T10:41:39.071588Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:41:40.453904Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 7.4MB → 2.0MB (3.7x), 46 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:41:42.779975Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks
2026-05-27T10:41:49.027970Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74734 paired=1 still_pending=0
2026-05-27T10:41:54.788261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)
2026-05-27T10:42:05.144866Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74742 paired=1 still_pending=0
2026-05-27T10:42:06.582444Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:42:06.843637Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:42:09.596353Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:43:38.057719Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:43:43.569346Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:44:09.146196Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:45:23.785916Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=0 total_pairs=560 total_evicted=376 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:45:23.786179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74748 paired=1 still_pending=0
2026-05-27T10:45:24.940282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74786 paired=1 still_pending=0
2026-05-27T10:45:29.802515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6862513116478460994, trigger=visual_change)
2026-05-27T10:45:29.870180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=563 row_id=75419 frame_id=74786
2026-05-27T10:45:29.873329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=564 row_id=75420 frame_id=74789
2026-05-27T10:45:29.873722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=565 row_id=75421 frame_id=74789
2026-05-27T10:45:39.152749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8281068984975041413, trigger=visual_change)
2026-05-27T10:45:54.661364Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)
2026-05-27T10:45:57.781035Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)
2026-05-27T10:46:04.115060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)
2026-05-27T10:46:07.299136Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)
2026-05-27T10:46:10.500428Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=click)
2026-05-27T10:46:20.108299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)
2026-05-27T10:46:23.255295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)
2026-05-27T10:46:34.775104Z INFO screenpipe_db::db: created new speaker id=82 (no existing match within threshold)
2026-05-27T10:46:44.692921Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=38 elapsed=4.22927575s
2026-05-27T10:46:44.693639Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 38 eligible frames
2026-05-27T10:46:44.768230Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)
2026-05-27T10:46:47.539847Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 4.5MB → 1.9MB (2.4x), 22 JPEGs deleted
2026-05-27T10:46:47.898858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)
2026-05-27T10:46:48.704833Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.9MB → 0.3MB (8.7x), 14 JPEGs deleted
2026-05-27T10:47:30.845429Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=324148660677850927, trigger=visual_change)
2026-05-27T10:47:31.133058Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=1 pending_frames=0 total_pairs=565 total_evicted=380 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:47:31.133211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74793 paired=2 still_pending=0
2026-05-27T10:47:39.504097Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:47:41.519243Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0
2026-05-27T10:47:41.522121Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:47:44.365124Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-27T10:47:46.103074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74808 paired=1 still_pending=0
2026-05-27T10:47:46.115167Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=571 row_id=75427 frame_id=74810
2026-05-27T10:47:49.351709Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74811 paired=1 still_pending=0
2026-05-27T10:47:49.778815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74813 paired=1 still_pending=0
2026-05-27T10:47:52.292862Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74814 paired=1 still_pending=0
2026-05-27T10:47:55.519188Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74815 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-27T10:48:03.750757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)
2026-05-27T10:48:12.999947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)
2026-05-27T10:48:13.601770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74818 paired=1 still_pending=0
2026-05-27T10:48:19.245059Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74823 paired=1 still_pending=0
2026-05-27T10:48:20.392916Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=351139886521669435, trigger=visual_change)
2026-05-27T10:48:20.561783Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74826 paired=1 still_pending=0
2026-05-27T10:48:22.234456Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=579 row_id=75436 frame_id=74827
2026-05-27T10:48:23.362373Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74829 paired=1 still_pending=0
2026-05-27T10:48:31.033187Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=581 row_id=75439 frame_id=74831
2026-05-27T10:48:34.542082Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=581 total_evicted=382 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:48:38.516524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8835137622839399697, trigger=visual_change)
2026-05-27T10:48:39.454969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7851543753003591938, trigger=visual_change)
2026-05-27T10:48:39.994608Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=582 row_id=75441 frame_id=74836
2026-05-27T10:48:40.650038Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74838 paired=1 still_pending=0
2026-05-27T10:48:41.263828Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8828367637830510212, trigger=click)
2026-05-27T10:48:42.174562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=584 row_id=75443 frame_id=74840
2026-05-27T10:48:44.683767Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=[CREDIT_CARD], trigger=visual_change)
2026-05-27T10:48:44.896658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=584 total_evicted=383 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:48:44.896895Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=585 row_id=75445 frame_id=74841
2026-05-27T10:48:46.056031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74843 paired=1 still_pending=0
2026-05-27T10:48:48.845147Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=587 row_id=75448 frame_id=74845
2026-05-27T10:48:51.275282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=588 row_id=75449 frame_id=74847
2026-05-27T10:48:53.293443Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74849 paired=1 still_pending=0
2026-05-27T10:48:56.208700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74851 paired=1 still_pending=0
2026-05-27T10:48:59.176524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74853 paired=1 still_pending=0
2026-05-27T10:49:00.349380Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74855 paired=1 still_pending=0
2026-05-27T10:49:03.413713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)
2026-05-27T10:49:06.543816Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:06.637710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:08.324034Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:49:08.664754Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:49:09.636214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)
2026-05-27T10:49:12.784517Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)
2026-05-27T10:49:12.993702Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=593 row_id=75455 frame_id=74857
2026-05-27T10:49:13.177475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:17.544041Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=593 total_evicted=384 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:49:17.544223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74858 paired=1 still_pending=0
2026-05-27T10:49:17.609729Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:17.709903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=595 row_id=75457 frame_id=74860
2026-05-27T10:49:17.762481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:19.138578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=visual_change)
2026-05-27T10:49:19.523959Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=596 row_id=75458 frame_id=74858
2026-05-27T10:49:19.542760Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=19 total_pairs=596 total_evicted=385 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:49:19.594743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=click)
2026-05-27T10:49:43.842958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8201919100771035126, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:49:45.194360Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-27T10:49:46.606320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=9 pending_events=0 pending_frames=11 total_pairs=596 total_evicted=394 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:49:46.606672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=597 row_id=75459 frame_id=74862
2026-05-27T10:49:51.439722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1021942438266116204, trigger=visual_change)
2026-05-27T10:49:57.772158Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5275664159014309534, trigger=visual_change)
2026-05-27T10:50:05.975199Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:50:10.203979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=visual_change)
2026-05-27T10:50:13.008938Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=1 pending_frames=4 total_pairs=597 total_evicted=401 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:50:13.010176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=1 still_pending=0
2026-05-27T10:50:13.014567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=3 still_pending=0
2026-05-27T10:50:13.241765Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=click)
2026-05-27T10:50:53.467165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)
2026-05-27T10:50:56.597593Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)
2026-05-27T10:50:59.739002Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)
2026-05-27T10:51:06.132457Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9096346061608388843, trigger=visual_change)
2026-05-27T10:51:09.336010Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=2 pending_frames=1 total_pairs=601 total_evicted=405 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:51:09.336225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74877 paired=2 still_pending=0
2026-05-27T10:51:21.604110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=visual_change)
2026-05-27T10:51:22.055285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=603 total_evicted=406 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:51:22.055543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0
2026-05-27T10:51:22.057517Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0
2026-05-27T10:51:22.160975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=click)
2026-05-27T10:51:33.786507Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:51:34.241453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:51:46.024317Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:51:49.530490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)
2026-05-27T10:51:50.135374Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=48 elapsed=1.422438792s
2026-05-27T10:51:50.135691Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames
2026-05-27T10:51:52.705843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)
2026-05-27T10:51:53.343898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 6.4MB → 2.6MB (2.5x), 31 JPEGs deleted
2026-05-27T10:51:54.784598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.6MB (4.7x), 15 JPEGs deleted
2026-05-27T10:52:03.972202Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:52:05.016297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)
2026-05-27T10:52:08.161325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)
2026-05-27T10:52:14.349460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)
2026-05-27T10:52:34.334962Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:52:35.620623Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:52:36.480915Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T10:53:27.969672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)
2026-05-27T10:53:34.270392Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:53:37.196546Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:53:46.822864Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:53:55.581368Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)
2026-05-27T10:53:58.715295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)
2026-05-27T10:54:02.829943Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:54:17.402312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8648087632458352271, trigger=visual_change)
2026-05-27T10:54:32.940665Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:36.100699Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:42.273843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:48.452077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:51.596005Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:57.804909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:55:03.190911Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:55:03.510766Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:55:03.850354Z INFO screenpipe_audio::transcription::handle_new_transc...
|
75219
|
NULL
|
NULL
|
NULL
|
|
76283
|
2688
|
21
|
2026-05-27T09:35:50.289150+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-27/1779 /Users/lukas/.screenpipe/data/data/2026-05-27/1779874550289_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_init_state: kv pad size = 2.36 MB
whi whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T11:58:10.137152Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-27T11:58:44.356006Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-05-27T11:58:44.394962Z INFO screenpipe_engine::event_driven_capture: monitor 2: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream
2026-05-27T11:58:44.399155Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-27T11:58:44.534673Z INFO screenpipe_engine::event_driven_capture: monitor 1: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream
2026-05-27T11:58:44.536534Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1
2026-05-27T11:59:05.419535Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)
2026-05-27T11:59:14.737858Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=64 elapsed=1.644319708s
2026-05-27T11:59:14.738056Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames
2026-05-27T11:59:17.010524Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 37 frames, 3.8MB → 0.8MB (5.0x), 37 JPEGs deleted
2026-05-27T11:59:18.731803Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.0MB → 2.2MB (2.3x), 25 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:00:10.683258Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 7 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:02:11.185871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:04:11.749255Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-27T12:04:18.861371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 25 eligible frames
2026-05-27T12:04:19.723450Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (8.3x), 13 JPEGs deleted
2026-05-27T12:04:20.534064Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.7MB → 0.5MB (3.6x), 10 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:06:12.266922Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:08:12.891988Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-27T12:09:21.112477Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames
2026-05-27T12:09:22.022704Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (7.8x), 13 JPEGs deleted
2026-05-27T12:09:22.737135Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 1.4MB → 0.3MB (5.2x), 8 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:10:13.232019Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks
2026-05-27T12:14:24.568655Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=2 elapsed=1.8162575s
2026-05-27T12:14:24.568903Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T12:27:06.535617Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-05-27T12:27:06.761974Z INFO screenpipe_engine::event_driven_capture: monitor 1: exiting pause state, capture resumes
2026-05-27T12:27:06.762281Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1
2026-05-27T12:27:07.386037Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)
2026-05-27T12:27:07.386834Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)
2026-05-27T12:27:07.768097Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-27T12:27:08.173308Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart
2026-05-27T12:27:08.173352Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)
2026-05-27T12:27:08.594375Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-27T12:27:08.594469Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)
2026-05-27T12:27:08.594512Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-27T12:27:32.477196Z INFO screenpipe_engine::event_driven_capture: monitor 2: exiting pause state, capture resumes
2026-05-27T12:27:33.194865Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T12:28:42.665826Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T12:28:43.049781Z INFO screenpipe_db::db: created new speaker id=83 (no existing match within threshold)
2026-05-27T12:28:43.367944Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T12:28:43.576905Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T12:28:43.778591Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T12:29:28.338419Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=0 elapsed=3.174693667s
2026-05-27T12:32:00.901823Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=10 pending_events=0 pending_frames=0 total_pairs=1269 total_evicted=882 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:32:00.902369Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76092 paired=2 still_pending=0
2026-05-27T12:32:02.222543Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 83.9ms elapsed (expected 5.3ms) → inserting 78.5ms silence (7539 samples)
2026-05-27T12:32:07.845010Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76166 paired=1 still_pending=0
2026-05-27T12:32:24.441771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76168 paired=1 still_pending=0
2026-05-27T12:32:31.303878Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=visual_change)
2026-05-27T12:32:34.157487Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1274 row_id=76421 frame_id=76174
2026-05-27T12:32:34.363926Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:34.515376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:34.905401Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76174 paired=1 still_pending=0
2026-05-27T12:32:35.161449Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:35.520668Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:35.921335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1276 row_id=76423 frame_id=76173
2026-05-27T12:32:36.175299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:36.538371Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:40.214616Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1277 row_id=76424 frame_id=76173
2026-05-27T12:32:40.472589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=click)
2026-05-27T12:32:40.520766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=click)
2026-05-27T12:32:40.996964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=visual_change)
2026-05-27T12:32:41.397100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76173 paired=1 still_pending=0
2026-05-27T12:32:41.650390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=click)
2026-05-27T12:32:41.702091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=click)
2026-05-27T12:32:42.456312Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76173 paired=1 still_pending=0
2026-05-27T12:32:42.813773Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:48.788020Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 119.1ms elapsed (expected 5.3ms) → inserting 113.7ms silence (10919 samples)
2026-05-27T12:32:49.065196Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76175 paired=1 still_pending=0
2026-05-27T12:32:49.319857Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=click)
2026-05-27T12:32:51.161174Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76173 paired=1 still_pending=0
2026-05-27T12:32:52.374401Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76178 paired=1 still_pending=0
2026-05-27T12:32:52.425840Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76179 paired=1 still_pending=0
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
2026-05-27T12:33:04.812218Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1283 total_evicted=883 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:33:13.962186Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired fr...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:58:10.137152Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-27T11:58:44.356006Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-05-27T11:58:44.394962Z INFO screenpipe_engine::event_driven_capture: monitor 2: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream\n2026-05-27T11:58:44.399155Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-27T11:58:44.534673Z INFO screenpipe_engine::event_driven_capture: monitor 1: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream\n2026-05-27T11:58:44.536534Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-27T11:59:05.419535Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-27T11:59:14.737858Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=64 elapsed=1.644319708s\n2026-05-27T11:59:14.738056Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames\n2026-05-27T11:59:17.010524Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 37 frames, 3.8MB → 0.8MB (5.0x), 37 JPEGs deleted\n2026-05-27T11:59:18.731803Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.0MB → 2.2MB (2.3x), 25 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:00:10.683258Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 7 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:02:11.185871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:04:11.749255Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-27T12:04:18.861371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 25 eligible frames\n2026-05-27T12:04:19.723450Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (8.3x), 13 JPEGs deleted\n2026-05-27T12:04:20.534064Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.7MB → 0.5MB (3.6x), 10 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:06:12.266922Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:08:12.891988Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-27T12:09:21.112477Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-05-27T12:09:22.022704Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (7.8x), 13 JPEGs deleted\n2026-05-27T12:09:22.737135Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 1.4MB → 0.3MB (5.2x), 8 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:10:13.232019Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks\n2026-05-27T12:14:24.568655Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=2 elapsed=1.8162575s\n2026-05-27T12:14:24.568903Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T12:27:06.535617Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-27T12:27:06.761974Z INFO screenpipe_engine::event_driven_capture: monitor 1: exiting pause state, capture resumes\n2026-05-27T12:27:06.762281Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-05-27T12:27:07.386037Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-27T12:27:07.386834Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-27T12:27:07.768097Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-27T12:27:08.173308Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-27T12:27:08.173352Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-27T12:27:08.594375Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-27T12:27:08.594469Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-27T12:27:08.594512Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-27T12:27:32.477196Z INFO screenpipe_engine::event_driven_capture: monitor 2: exiting pause state, capture resumes\n2026-05-27T12:27:33.194865Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T12:28:42.665826Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T12:28:43.049781Z INFO screenpipe_db::db: created new speaker id=83 (no existing match within threshold)\n2026-05-27T12:28:43.367944Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T12:28:43.576905Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T12:28:43.778591Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T12:29:28.338419Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=0 elapsed=3.174693667s\n2026-05-27T12:32:00.901823Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=10 pending_events=0 pending_frames=0 total_pairs=1269 total_evicted=882 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:32:00.902369Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76092 paired=2 still_pending=0\n2026-05-27T12:32:02.222543Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 83.9ms elapsed (expected 5.3ms) → inserting 78.5ms silence (7539 samples)\n2026-05-27T12:32:07.845010Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76166 paired=1 still_pending=0\n2026-05-27T12:32:24.441771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76168 paired=1 still_pending=0\n2026-05-27T12:32:31.303878Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=visual_change)\n2026-05-27T12:32:34.157487Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1274 row_id=76421 frame_id=76174\n2026-05-27T12:32:34.363926Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=typing_pause)\n2026-05-27T12:32:34.515376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)\n2026-05-27T12:32:34.905401Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76174 paired=1 still_pending=0\n2026-05-27T12:32:35.161449Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)\n2026-05-27T12:32:35.520668Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=typing_pause)\n2026-05-27T12:32:35.921335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1276 row_id=76423 frame_id=76173\n2026-05-27T12:32:36.175299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)\n2026-05-27T12:32:36.538371Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=typing_pause)\n2026-05-27T12:32:40.214616Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1277 row_id=76424 frame_id=76173\n2026-05-27T12:32:40.472589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=click)\n2026-05-27T12:32:40.520766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=click)\n2026-05-27T12:32:40.996964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=visual_change)\n2026-05-27T12:32:41.397100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76173 paired=1 still_pending=0\n2026-05-27T12:32:41.650390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=click)\n2026-05-27T12:32:41.702091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=click)\n2026-05-27T12:32:42.456312Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76173 paired=1 still_pending=0\n2026-05-27T12:32:42.813773Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)\n2026-05-27T12:32:48.788020Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 119.1ms elapsed (expected 5.3ms) → inserting 113.7ms silence (10919 samples)\n2026-05-27T12:32:49.065196Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76175 paired=1 still_pending=0\n2026-05-27T12:32:49.319857Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=click)\n2026-05-27T12:32:51.161174Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76173 paired=1 still_pending=0\n2026-05-27T12:32:52.374401Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76178 paired=1 still_pending=0\n2026-05-27T12:32:52.425840Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76179 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-27T12:33:04.812218Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1283 total_evicted=883 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:33:13.962186Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76186 paired=1 still_pending=0\n2026-05-27T12:33:13.972087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76186 paired=1 still_pending=1\n2026-05-27T12:33:13.977618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1286 row_id=76434 frame_id=76186\n2026-05-27T12:33:20.238241Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76188 paired=1 still_pending=0\n2026-05-27T12:33:21.753180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76190 paired=1 still_pending=0\n2026-05-27T12:33:22.070184Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4634657998993970352, trigger=click)\n2026-05-27T12:33:23.008763Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76190 paired=1 still_pending=0\n2026-05-27T12:33:24.388224Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4634657998993970352, trigger=visual_change)\n2026-05-27T12:33:27.502300Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1290 row_id=76439 frame_id=76190\n2026-05-27T12:33:27.507455Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=10 total_pairs=1290 total_evicted=884 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:33:27.528287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4634657998993970352, trigger=visual_change)\n2026-05-27T12:33:27.535879Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76190 paired=1 still_pending=0\n2026-05-27T12:33:31.635791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4634657998993970352, trigger=visual_change)\n2026-05-27T12:33:32.389119Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=9 total_pairs=1291 total_evicted=885 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:33:32.389443Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76192 paired=1 still_pending=0\n2026-05-27T12:33:34.855272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76195 paired=1 still_pending=0\n2026-05-27T12:33:35.182141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4634657998993970352, trigger=click)\n2026-05-27T12:33:37.695252Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4634657998993970352, trigger=visual_change)\n2026-05-27T12:33:38.688617Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76197 paired=1 still_pending=0\n2026-05-27T12:33:38.895971Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4634657998993970352, trigger=click)\n2026-05-27T12:33:40.270072Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=9 total_pairs=1294 total_evicted=888 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:33:40.270262Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76197 paired=1 still_pending=0\n2026-05-27T12:33:40.525836Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4634657998993970352, trigger=click)\n2026-05-27T12:33:40.578497Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76199 paired=1 still_pending=0\n2026-05-27T12:33:40.580474Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4634657998993970352, trigger=click)\n2026-05-27T12:33:41.621170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1297 row_id=76446 frame_id=76197\n2026-05-27T12:33:43.853220Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76200 paired=1 still_pending=0\n2026-05-27T12:33:45.603805Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=12 total_pairs=1298 total_evicted=890 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:33:45.604060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1299 row_id=76448 frame_id=76201\n2026-05-27T12:33:46.405915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76203 paired=1 still_pending=0\n2026-05-27T12:33:46.660912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4634657998993970352, trigger=click)\n2026-05-27T12:33:47.014446Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4634657998993970352, trigger=click)\n2026-05-27T12:33:47.187633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1301 row_id=76450 frame_id=76203\n2026-05-27T12:33:50.037900Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1302 row_id=76451 frame_id=76204\n2026-05-27T12:33:50.040084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76205 paired=1 still_pending=1\n2026-05-27T12:33:50.041372Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=15 total_pairs=1303 total_evicted=891 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:33:53.207660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76207 paired=1 still_pending=0\n2026-05-27T12:33:54.083582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76211 paired=1 still_pending=0\n2026-05-27T12:33:55.995170Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1305 total_evicted=893 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:33:55.995400Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76213 paired=1 still_pending=0\n2026-05-27T12:33:58.090195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76215 paired=1 still_pending=0\n2026-05-27T12:34:00.188854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76217 paired=1 still_pending=0\n2026-05-27T12:34:05.476076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1309 row_id=76458 frame_id=76218\n2026-05-27T12:34:05.487298Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1309 total_evicted=894 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:34:13.556867Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1310 row_id=76459 frame_id=76221\n2026-05-27T12:34:13.919051Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3356080207257280174, trigger=click)\n2026-05-27T12:34:19.236840Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3356080207257280174, trigger=visual_change)\n2026-05-27T12:34:21.756702Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76224 paired=1 still_pending=0\n2026-05-27T12:34:22.112219Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3356080207257280174, trigger=click)\n2026-05-27T12:34:22.950984Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76224 paired=1 still_pending=0\n2026-05-27T12:34:24.361889Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3356080207257280174, trigger=visual_change)\n2026-05-27T12:34:32.481881Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=0 elapsed=4.139627416s\n2026-05-27T12:34:37.241877Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=19 total_pairs=1312 total_evicted=896 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:34:37.242134Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76231 paired=1 still_pending=0\n2026-05-27T12:34:37.694204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76234 paired=1 still_pending=0\n2026-05-27T12:34:38.891626Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1315 row_id=76466 frame_id=76234\n2026-05-27T12:34:43.576355Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=20 total_pairs=1315 total_evicted=899 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:34:43.584930Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1316 row_id=76467 frame_id=76237\n2026-05-27T12:35:00.327504Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=12 pending_events=0 pending_frames=8 total_pairs=1316 total_evicted=911 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:35:00.327782Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76241 paired=1 still_pending=0\n2026-05-27T12:35:13.326971Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=1317 total_evicted=912 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:35:13.327304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76247 paired=1 still_pending=0\n2026-05-27T12:35:21.696517Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1318 total_evicted=913 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:35:21.696723Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1319 row_id=76470 frame_id=76253\n2026-05-27T12:35:25.095275Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=1319 total_evicted=915 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:35:25.095746Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76257 paired=1 still_pending=0\n2026-05-27T12:35:25.778360Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76260 paired=1 still_pending=0\n2026-05-27T12:35:26.797866Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1322 row_id=76473 frame_id=76262\n2026-05-27T12:35:31.770959Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1323 row_id=76474 frame_id=76264\n2026-05-27T12:35:39.813649Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=8 total_pairs=1323 total_evicted=918 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:35:41.325247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1324 row_id=76484 frame_id=76272\n2026-05-27T12:35:41.327279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1325 row_id=76485 frame_id=76272\n2026-05-27T12:35:41.369534Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=733594097197586371, trigger=click)\n2026-05-27T12:35:43.208509Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1326 row_id=76486 frame_id=76273\n2026-05-27T12:35:43.211120Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1327 row_id=76487 frame_id=76272\n2026-05-27T12:35:46.073751Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76275 paired=1 still_pending=0\n2026-05-27T12:35:46.074685Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=10 total_pairs=1328 total_evicted=919 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:35:46.074757Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76275 paired=1 still_pending=0\n2026-05-27T12:35:46.674087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1330 row_id=76490 frame_id=76278\n2026-05-27T12:35:46.676777Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1331 row_id=76491 frame_id=76278\n2026-05-27T12:35:49.007682Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1332 row_id=76492 frame_id=76279\n2026-05-27T12:35:49.009548Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1333 row_id=76493 frame_id=76279\n2026-05-27T12:35:49.990599Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76282 paired=2 still_pending=0","depth":4,"on_screen":true,"value":"whisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T11:58:10.137152Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-27T11:58:44.356006Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-05-27T11:58:44.394962Z INFO screenpipe_engine::event_driven_capture: monitor 2: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream\n2026-05-27T11:58:44.399155Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-27T11:58:44.534673Z INFO screenpipe_engine::event_driven_capture: monitor 1: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream\n2026-05-27T11:58:44.536534Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-27T11:59:05.419535Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-27T11:59:14.737858Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=64 elapsed=1.644319708s\n2026-05-27T11:59:14.738056Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames\n2026-05-27T11:59:17.010524Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 37 frames, 3.8MB → 0.8MB (5.0x), 37 JPEGs deleted\n2026-05-27T11:59:18.731803Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.0MB → 2.2MB (2.3x), 25 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:00:10.683258Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 7 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:02:11.185871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:04:11.749255Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-27T12:04:18.861371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 25 eligible frames\n2026-05-27T12:04:19.723450Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (8.3x), 13 JPEGs deleted\n2026-05-27T12:04:20.534064Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.7MB → 0.5MB (3.6x), 10 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:06:12.266922Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:08:12.891988Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks\n2026-05-27T12:09:21.112477Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames\n2026-05-27T12:09:22.022704Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (7.8x), 13 JPEGs deleted\n2026-05-27T12:09:22.737135Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 1.4MB → 0.3MB (5.2x), 8 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:10:13.232019Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks\n2026-05-27T12:14:24.568655Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=2 elapsed=1.8162575s\n2026-05-27T12:14:24.568903Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T12:27:06.535617Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-27T12:27:06.761974Z INFO screenpipe_engine::event_driven_capture: monitor 1: exiting pause state, capture resumes\n2026-05-27T12:27:06.762281Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-05-27T12:27:07.386037Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-27T12:27:07.386834Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-27T12:27:07.768097Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-27T12:27:08.173308Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-27T12:27:08.173352Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-27T12:27:08.594375Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-27T12:27:08.594469Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-27T12:27:08.594512Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-27T12:27:32.477196Z INFO screenpipe_engine::event_driven_capture: monitor 2: exiting pause state, capture resumes\n2026-05-27T12:27:33.194865Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T12:28:42.665826Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T12:28:43.049781Z INFO screenpipe_db::db: created new speaker id=83 (no existing match within threshold)\n2026-05-27T12:28:43.367944Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T12:28:43.576905Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T12:28:43.778591Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T12:29:28.338419Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=0 elapsed=3.174693667s\n2026-05-27T12:32:00.901823Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=10 pending_events=0 pending_frames=0 total_pairs=1269 total_evicted=882 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:32:00.902369Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76092 paired=2 still_pending=0\n2026-05-27T12:32:02.222543Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 83.9ms elapsed (expected 5.3ms) → inserting 78.5ms silence (7539 samples)\n2026-05-27T12:32:07.845010Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76166 paired=1 still_pending=0\n2026-05-27T12:32:24.441771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76168 paired=1 still_pending=0\n2026-05-27T12:32:31.303878Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=visual_change)\n2026-05-27T12:32:34.157487Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1274 row_id=76421 frame_id=76174\n2026-05-27T12:32:34.363926Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=typing_pause)\n2026-05-27T12:32:34.515376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)\n2026-05-27T12:32:34.905401Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76174 paired=1 still_pending=0\n2026-05-27T12:32:35.161449Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)\n2026-05-27T12:32:35.520668Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=typing_pause)\n2026-05-27T12:32:35.921335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1276 row_id=76423 frame_id=76173\n2026-05-27T12:32:36.175299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)\n2026-05-27T12:32:36.538371Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=typing_pause)\n2026-05-27T12:32:40.214616Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1277 row_id=76424 frame_id=76173\n2026-05-27T12:32:40.472589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=click)\n2026-05-27T12:32:40.520766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=click)\n2026-05-27T12:32:40.996964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=visual_change)\n2026-05-27T12:32:41.397100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76173 paired=1 still_pending=0\n2026-05-27T12:32:41.650390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=click)\n2026-05-27T12:32:41.702091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=click)\n2026-05-27T12:32:42.456312Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76173 paired=1 still_pending=0\n2026-05-27T12:32:42.813773Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)\n2026-05-27T12:32:48.788020Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 119.1ms elapsed (expected 5.3ms) → inserting 113.7ms silence (10919 samples)\n2026-05-27T12:32:49.065196Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76175 paired=1 still_pending=0\n2026-05-27T12:32:49.319857Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=click)\n2026-05-27T12:32:51.161174Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76173 paired=1 still_pending=0\n2026-05-27T12:32:52.374401Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76178 paired=1 still_pending=0\n2026-05-27T12:32:52.425840Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76179 paired=1 still_pending=0\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-27T12:33:04.812218Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1283 total_evicted=883 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:33:13.962186Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76186 paired=1 still_pending=0\n2026-05-27T12:33:13.972087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76186 paired=1 still_pending=1\n2026-05-27T12:33:13.977618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1286 row_id=76434 frame_id=76186\n2026-05-27T12:33:20.238241Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76188 paired=1 still_pending=0\n2026-05-27T12:33:21.753180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76190 paired=1 still_pending=0\n2026-05-27T12:33:22.070184Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4634657998993970352, trigger=click)\n2026-05-27T12:33:23.008763Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76190 paired=1 still_pending=0\n2026-05-27T12:33:24.388224Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4634657998993970352, trigger=visual_change)\n2026-05-27T12:33:27.502300Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1290 row_id=76439 frame_id=76190\n2026-05-27T12:33:27.507455Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=10 total_pairs=1290 total_evicted=884 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:33:27.528287Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4634657998993970352, trigger=visual_change)\n2026-05-27T12:33:27.535879Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76190 paired=1 still_pending=0\n2026-05-27T12:33:31.635791Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4634657998993970352, trigger=visual_change)\n2026-05-27T12:33:32.389119Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=9 total_pairs=1291 total_evicted=885 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:33:32.389443Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76192 paired=1 still_pending=0\n2026-05-27T12:33:34.855272Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76195 paired=1 still_pending=0\n2026-05-27T12:33:35.182141Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4634657998993970352, trigger=click)\n2026-05-27T12:33:37.695252Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4634657998993970352, trigger=visual_change)\n2026-05-27T12:33:38.688617Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76197 paired=1 still_pending=0\n2026-05-27T12:33:38.895971Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4634657998993970352, trigger=click)\n2026-05-27T12:33:40.270072Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=9 total_pairs=1294 total_evicted=888 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:33:40.270262Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76197 paired=1 still_pending=0\n2026-05-27T12:33:40.525836Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4634657998993970352, trigger=click)\n2026-05-27T12:33:40.578497Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76199 paired=1 still_pending=0\n2026-05-27T12:33:40.580474Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4634657998993970352, trigger=click)\n2026-05-27T12:33:41.621170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1297 row_id=76446 frame_id=76197\n2026-05-27T12:33:43.853220Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76200 paired=1 still_pending=0\n2026-05-27T12:33:45.603805Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=12 total_pairs=1298 total_evicted=890 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:33:45.604060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1299 row_id=76448 frame_id=76201\n2026-05-27T12:33:46.405915Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76203 paired=1 still_pending=0\n2026-05-27T12:33:46.660912Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4634657998993970352, trigger=click)\n2026-05-27T12:33:47.014446Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4634657998993970352, trigger=click)\n2026-05-27T12:33:47.187633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1301 row_id=76450 frame_id=76203\n2026-05-27T12:33:50.037900Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1302 row_id=76451 frame_id=76204\n2026-05-27T12:33:50.040084Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76205 paired=1 still_pending=1\n2026-05-27T12:33:50.041372Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=15 total_pairs=1303 total_evicted=891 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:33:53.207660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76207 paired=1 still_pending=0\n2026-05-27T12:33:54.083582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76211 paired=1 still_pending=0\n2026-05-27T12:33:55.995170Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1305 total_evicted=893 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:33:55.995400Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76213 paired=1 still_pending=0\n2026-05-27T12:33:58.090195Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76215 paired=1 still_pending=0\n2026-05-27T12:34:00.188854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76217 paired=1 still_pending=0\n2026-05-27T12:34:05.476076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1309 row_id=76458 frame_id=76218\n2026-05-27T12:34:05.487298Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1309 total_evicted=894 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:34:13.556867Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1310 row_id=76459 frame_id=76221\n2026-05-27T12:34:13.919051Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3356080207257280174, trigger=click)\n2026-05-27T12:34:19.236840Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3356080207257280174, trigger=visual_change)\n2026-05-27T12:34:21.756702Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76224 paired=1 still_pending=0\n2026-05-27T12:34:22.112219Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3356080207257280174, trigger=click)\n2026-05-27T12:34:22.950984Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76224 paired=1 still_pending=0\n2026-05-27T12:34:24.361889Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3356080207257280174, trigger=visual_change)\n2026-05-27T12:34:32.481881Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=0 elapsed=4.139627416s\n2026-05-27T12:34:37.241877Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=19 total_pairs=1312 total_evicted=896 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:34:37.242134Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76231 paired=1 still_pending=0\n2026-05-27T12:34:37.694204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76234 paired=1 still_pending=0\n2026-05-27T12:34:38.891626Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1315 row_id=76466 frame_id=76234\n2026-05-27T12:34:43.576355Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=20 total_pairs=1315 total_evicted=899 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:34:43.584930Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1316 row_id=76467 frame_id=76237\n2026-05-27T12:35:00.327504Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=12 pending_events=0 pending_frames=8 total_pairs=1316 total_evicted=911 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:35:00.327782Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76241 paired=1 still_pending=0\n2026-05-27T12:35:13.326971Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=1317 total_evicted=912 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:35:13.327304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76247 paired=1 still_pending=0\n2026-05-27T12:35:21.696517Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1318 total_evicted=913 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:35:21.696723Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1319 row_id=76470 frame_id=76253\n2026-05-27T12:35:25.095275Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=1319 total_evicted=915 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:35:25.095746Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76257 paired=1 still_pending=0\n2026-05-27T12:35:25.778360Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76260 paired=1 still_pending=0\n2026-05-27T12:35:26.797866Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1322 row_id=76473 frame_id=76262\n2026-05-27T12:35:31.770959Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1323 row_id=76474 frame_id=76264\n2026-05-27T12:35:39.813649Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=8 total_pairs=1323 total_evicted=918 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:35:41.325247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1324 row_id=76484 frame_id=76272\n2026-05-27T12:35:41.327279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1325 row_id=76485 frame_id=76272\n2026-05-27T12:35:41.369534Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=733594097197586371, trigger=click)\n2026-05-27T12:35:43.208509Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1326 row_id=76486 frame_id=76273\n2026-05-27T12:35:43.211120Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1327 row_id=76487 frame_id=76272\n2026-05-27T12:35:46.073751Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76275 paired=1 still_pending=0\n2026-05-27T12:35:46.074685Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=10 total_pairs=1328 total_evicted=919 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:35:46.074757Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76275 paired=1 still_pending=0\n2026-05-27T12:35:46.674087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1330 row_id=76490 frame_id=76278\n2026-05-27T12:35:46.676777Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1331 row_id=76491 frame_id=76278\n2026-05-27T12:35:49.007682Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1332 row_id=76492 frame_id=76279\n2026-05-27T12:35:49.009548Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1333 row_id=76493 frame_id=76279\n2026-05-27T12:35:49.990599Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76282 paired=2 still_pending=0","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16388889,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.16388889,"top":0.05888889,"width":0.16388889,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.16805555,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"APP (-zsh)","depth":2,"bounds":{"left":0.32777777,"top":0.05888889,"width":0.16388889,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33194444,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.49166667,"top":0.05888889,"width":0.16388889,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49583334,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.65555555,"top":0.05888889,"width":0.16388889,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6597222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-129-190:~ (nc)","depth":2,"bounds":{"left":0.8194444,"top":0.05888889,"width":0.16388889,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.82361114,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.47083333,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
203350967826564220
|
-5463917722726500896
|
click
|
accessibility
|
NULL
|
whisper_init_state: kv pad size = 2.36 MB
whi whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T11:58:10.137152Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-27T11:58:44.356006Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-05-27T11:58:44.394962Z INFO screenpipe_engine::event_driven_capture: monitor 2: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream
2026-05-27T11:58:44.399155Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-27T11:58:44.534673Z INFO screenpipe_engine::event_driven_capture: monitor 1: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream
2026-05-27T11:58:44.536534Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1
2026-05-27T11:59:05.419535Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)
2026-05-27T11:59:14.737858Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=64 elapsed=1.644319708s
2026-05-27T11:59:14.738056Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames
2026-05-27T11:59:17.010524Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 37 frames, 3.8MB → 0.8MB (5.0x), 37 JPEGs deleted
2026-05-27T11:59:18.731803Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.0MB → 2.2MB (2.3x), 25 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:00:10.683258Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 7 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:02:11.185871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:04:11.749255Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-27T12:04:18.861371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 25 eligible frames
2026-05-27T12:04:19.723450Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (8.3x), 13 JPEGs deleted
2026-05-27T12:04:20.534064Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.7MB → 0.5MB (3.6x), 10 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:06:12.266922Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:08:12.891988Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-27T12:09:21.112477Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames
2026-05-27T12:09:22.022704Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (7.8x), 13 JPEGs deleted
2026-05-27T12:09:22.737135Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 1.4MB → 0.3MB (5.2x), 8 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:10:13.232019Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks
2026-05-27T12:14:24.568655Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=2 elapsed=1.8162575s
2026-05-27T12:14:24.568903Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T12:27:06.535617Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-05-27T12:27:06.761974Z INFO screenpipe_engine::event_driven_capture: monitor 1: exiting pause state, capture resumes
2026-05-27T12:27:06.762281Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1
2026-05-27T12:27:07.386037Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)
2026-05-27T12:27:07.386834Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)
2026-05-27T12:27:07.768097Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-27T12:27:08.173308Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart
2026-05-27T12:27:08.173352Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)
2026-05-27T12:27:08.594375Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-27T12:27:08.594469Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)
2026-05-27T12:27:08.594512Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-27T12:27:32.477196Z INFO screenpipe_engine::event_driven_capture: monitor 2: exiting pause state, capture resumes
2026-05-27T12:27:33.194865Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T12:28:42.665826Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T12:28:43.049781Z INFO screenpipe_db::db: created new speaker id=83 (no existing match within threshold)
2026-05-27T12:28:43.367944Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T12:28:43.576905Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T12:28:43.778591Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T12:29:28.338419Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=0 elapsed=3.174693667s
2026-05-27T12:32:00.901823Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=10 pending_events=0 pending_frames=0 total_pairs=1269 total_evicted=882 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:32:00.902369Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76092 paired=2 still_pending=0
2026-05-27T12:32:02.222543Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 83.9ms elapsed (expected 5.3ms) → inserting 78.5ms silence (7539 samples)
2026-05-27T12:32:07.845010Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76166 paired=1 still_pending=0
2026-05-27T12:32:24.441771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76168 paired=1 still_pending=0
2026-05-27T12:32:31.303878Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=visual_change)
2026-05-27T12:32:34.157487Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1274 row_id=76421 frame_id=76174
2026-05-27T12:32:34.363926Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:34.515376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:34.905401Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76174 paired=1 still_pending=0
2026-05-27T12:32:35.161449Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:35.520668Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:35.921335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1276 row_id=76423 frame_id=76173
2026-05-27T12:32:36.175299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:36.538371Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:40.214616Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1277 row_id=76424 frame_id=76173
2026-05-27T12:32:40.472589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=click)
2026-05-27T12:32:40.520766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=click)
2026-05-27T12:32:40.996964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=visual_change)
2026-05-27T12:32:41.397100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76173 paired=1 still_pending=0
2026-05-27T12:32:41.650390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=click)
2026-05-27T12:32:41.702091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=click)
2026-05-27T12:32:42.456312Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76173 paired=1 still_pending=0
2026-05-27T12:32:42.813773Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:48.788020Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 119.1ms elapsed (expected 5.3ms) → inserting 113.7ms silence (10919 samples)
2026-05-27T12:32:49.065196Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76175 paired=1 still_pending=0
2026-05-27T12:32:49.319857Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=click)
2026-05-27T12:32:51.161174Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76173 paired=1 still_pending=0
2026-05-27T12:32:52.374401Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76178 paired=1 still_pending=0
2026-05-27T12:32:52.425840Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76179 paired=1 still_pending=0
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
2026-05-27T12:33:04.812218Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1283 total_evicted=883 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:33:13.962186Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired fr...
|
76282
|
NULL
|
NULL
|
NULL
|
|
76742
|
2698
|
18
|
2026-05-27T10:02:13.706384+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-27/1779 /Users/lukas/.screenpipe/data/data/2026-05-27/1779876133706_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
8.2ms silence (7505 samples)
2026-05-27T12:46:02.7 8.2ms silence (7505 samples)
2026-05-27T12:46:02.725845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:02.949643Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76503 paired=1 still_pending=0
2026-05-27T12:46:03.204961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:08.966239Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1515 row_id=76731 frame_id=76502
2026-05-27T12:46:08.967122Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=8 total_pairs=1515 total_evicted=1052 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:09.915452Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76505 paired=1 still_pending=0
2026-05-27T12:46:09.918660Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=7 total_pairs=1516 total_evicted=1053 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:10.727994Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0
2026-05-27T12:46:11.332742Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1518 row_id=76734 frame_id=76508
2026-05-27T12:46:11.393442Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:13.443359Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1519 row_id=76735 frame_id=76507
2026-05-27T12:46:13.803813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:14.929878Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:46:16.187614Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:46:19.819598Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1520 total_evicted=1054 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:23.591470Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76513 paired=1 still_pending=0
2026-05-27T12:46:23.947762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:25.221434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:26.156752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:27.499978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1523 row_id=76745 frame_id=76514
2026-05-27T12:46:27.857736Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:29.801132Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76517 paired=1 still_pending=0
2026-05-27T12:46:29.820656Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1524 total_evicted=1055 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:30.059795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:35.068012Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:35.326448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:41.165011Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1525 total_evicted=1056 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:41.165200Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:41.424152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:41.950824Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:41.952375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:44.668488Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1529 row_id=76751 frame_id=76520
2026-05-27T12:46:44.669252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1530 row_id=76752 frame_id=76521
2026-05-27T12:46:46.019527Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1531 row_id=76753 frame_id=76520
2026-05-27T12:46:48.148247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76520 paired=2 still_pending=0
2026-05-27T12:46:48.731394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0
2026-05-27T12:46:51.877240Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1535 total_evicted=1057 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:51.877715Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0
2026-05-27T12:46:53.648302Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0
2026-05-27T12:46:54.272758Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0
2026-05-27T12:46:57.323392Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1539 total_evicted=1058 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:57.323646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0
2026-05-27T12:47:01.620667Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76525 paired=1 still_pending=0
2026-05-27T12:47:01.937515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:07.232856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:10.284934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:13.336270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:16.364147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:22.688769Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76526 paired=1 still_pending=0
2026-05-27T12:47:22.690438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=0 pending_frames=12 total_pairs=1542 total_evicted=1065 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:23.044974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:25.589300Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:25.672034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=10 total_pairs=1542 total_evicted=1067 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:25.672148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0
2026-05-27T12:47:28.495364Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1544 row_id=76766 frame_id=76529
2026-05-27T12:47:29.821184Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=8 total_pairs=1544 total_evicted=1069 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:30.403252Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:32.855792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0
2026-05-27T12:47:33.110578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:33.208117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:38.343309Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=1545 total_evicted=1070 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:38.343422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0
2026-05-27T12:47:38.703433Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:40.480813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0
2026-05-27T12:47:40.737804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:40.837862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:41.319113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0
2026-05-27T12:47:41.574344Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:41.882404Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:43.743921Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1549 row_id=76772 frame_id=76530
2026-05-27T12:47:44.015965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:44.098460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:45.354191Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=8 total_pairs=1549 total_evicted=1074 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:45.354424Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0
2026-05-27T12:47:45.621734Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:45.714088Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:50.718103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:53.765110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:55.991145Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=8 total_pairs=1550 total_evicted=1075 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:55.991602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0
2026-05-27T12:47:56.350961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:57.041657Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76532 paired=1 still_pending=0
2026-05-27T12:47:57.401889Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:02.927464Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0
2026-05-27T12:48:02.933165Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1553 total_evicted=1076 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:03.186279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-27T12:48:16.361812Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0
ggml_metal_free: deallocating
2026-05-27T12:48:16.620142Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:16.733322Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:16.817801Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:48:24.444303Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1554 total_evicted=1077 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:24.444428Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0
2026-05-27T12:48:24.697885Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:24.800709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:30.629207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0
2026-05-27T12:48:42.149066Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76535 paired=1 still_pending=0
2026-05-27T12:48:42.153305Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=9 total_pairs=1557 total_evicted=1081 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:43.290267Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76537 paired=1 still_pending=0
2026-05-27T12:48:44.821129Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1558 total_evicted=1082 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:46.846673Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76539 paired=1 still_pending=0
2026-05-27T12:48:49.821591Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1559 total_evicted=1083 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:59.864797Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=1559 total_evicted=1085 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:59.865166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76542 paired=1 still_pending=0
2026-05-27T12:49:01.065519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76544 paired=1 still_pending=0
2026-05-27T12:49:01.152640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1562 row_id=76791 frame_id=76544
2026-05-27T12:49:03.328116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76546 paired=1 still_pending=0
2026-05-27T12:49:03.331199Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1564 row_id=76793 frame_id=76546
2026-05-27T12:49:04.821831Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1564 total_evicted=1086 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:06.434589Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1565 row_id=76796 frame_id=76548
2026-05-27T12:49:09.267795Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1566 row_id=76798 frame_id=76550
2026-05-27T12:49:11.938278Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76552 paired=1 still_pending=0
2026-05-27T12:49:13.618263Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1568 row_id=76800 frame_id=76554
2026-05-27T12:49:14.398973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76556 paired=1 still_pending=0
2026-05-27T12:49:15.861875Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1570 row_id=76802 frame_id=76558
2026-05-27T12:49:17.481533Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1571 row_id=76806 frame_id=76560
2026-05-27T12:49:19.466005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1572 row_id=76807 frame_id=76562
2026-05-27T12:49:19.821386Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1572 total_evicted=1087 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:27.048800Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76564 paired=1 still_pending=0
2026-05-27T12:49:27.051285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1573 total_evicted=1088 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:27.936969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76566 paired=2 still_pending=0
2026-05-27T12:49:29.365779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76567 paired=2 still_pending=0
2026-05-27T12:49:30.449322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76568 paired=2 still_pending=0
2026-05-27T12:49:32.150440Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0
2026-05-27T12:49:36.386782Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1581 total_evicted=1089 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:36.386929Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0
2026-05-27T12:49:38.220308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76571 paired=1 still_pending=0
2026-05-27T12:49:38.746143Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76572 paired=1 still_pending=0
2026-05-27T12:49:42.961297Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames
2026-05-27T12:49:44.557950Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1585 total_evicted=1091 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:44.558076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76573 paired=1 still_pending=0
2026-05-27T12:49:45.249599Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76574 paired=1 still_pending=0
2026-05-27T12:49:45.746700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76575 paired=1 still_pending=0
2026-05-27T12:49:46.035898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 8.5MB → 3.5MB (2.4x), 50 JPEGs deleted
2026-05-27T12:49:50.659176Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 70 frames, 12.4MB → 5.1MB (2.4x), 70 JPEGs deleted
2026-05-27T12:49:58.499676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=14 total_pairs=1588 total_evicted=1092 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:58.499902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76576 paired=1 still_pending=0
2026-05-27T12:49:58.542706Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)
2026-05-27T12:49:58.633153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)
2026-05-27T12:49:58.712913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1590 row_id=76829 frame_id=76576
2026-05-27T12:49:58.713518Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1591 row_id=76830 frame_id=76576
2026-05-27T12:49:59.688085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)
2026-05-27T12:50:00.888000Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1591 total_evicted=1093 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:00.888150Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1592 row_id=76831 frame_id=76576
2026-05-27T12:50:00.890259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1593 row_id=76832 frame_id=76577
2026-05-27T12:50:01.565328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)
2026-05-27T12:50:01.993453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)
2026-05-27T12:50:03.172973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1594 row_id=76837 frame_id=76576
2026-05-27T12:50:03.177345Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1595 row_id=76838 frame_id=76576
2026-05-27T12:50:04.821796Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=14 total_pairs=1595 total_evicted=1097 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:05.457735Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1596 row_id=76840 frame_id=76578
2026-05-27T12:50:07.228497Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1597 row_id=76841 frame_id=76580
2026-05-27T12:50:09.733766Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1598 row_id=76844 frame_id=76582
2026-05-27T12:50:09.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=16 total_pairs=1598 total_evicted=1099 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:15.591438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1598 total_evicted=1102 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:15.592552Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1599 row_id=76845 frame_id=76584
2026-05-27T12:50:16.577941Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1600 row_id=76846 frame_id=76587
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:50:17.212044Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:50:24.730143Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=12 total_pairs=1600 total_evicted=1105 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:24.730523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1601 row_id=76849 frame_id=76589
2026-05-27T12:50:26.164576Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1602 row_id=76850 frame_id=76591
2026-05-27T12:50:40.748062Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=12 total_pairs=1602 total_evicted=1106 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:40.748260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76594 paired=1 still_pending=0
2026-05-27T12:50:47.012001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76596 paired=1 still_pending=0
2026-05-27T12:50:47.874397Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0
2026-05-27T12:50:48.229660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1683339962077118729, trigger=typing_pause)
2026-05-27T12:50:49.214882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0
2026-05-27T12:50:53.977750Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76598 paired=1 still_pending=0
2026-05-27T12:50:56.309074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76600 paired=1 still_pending=0
2026-05-27T12:50:58.173529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0
2026-05-27T12:50:58.429000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)
2026-05-27T12:50:58.532571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)
2026-05-27T12:50:59.091726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0
2026-05-27T12:50:59.349678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)
2026-05-27T12:50:59.556623Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)
2026-05-27T12:51:02.132123Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=12 total_pairs=1610 total_evicted=1110 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:02.132318Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0
2026-05-27T12:51:03.404947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-418369950010791277, trigger=visual_change)
2026-05-27T12:51:04.361502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1612 row_id=76864 frame_id=76604
2026-05-27T12:51:04.363726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1613 row_id=76865 frame_id=76604
2026-05-27T12:51:05.244764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1614 row_id=76866 frame_id=76606
2026-05-27T12:51:05.246838Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=13 total_pairs=1614 total_evicted=1111 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:05.878140Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1615 row_id=76867 frame_id=76608
2026-05-27T12:51:11.887275Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1615 total_evicted=1114 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:11.887419Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1616 row_id=76868 frame_id=76610
2026-05-27T12:51:12.445237Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76612 paired=1 still_pending=0
2026-05-27T12:51:25.947864Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=10 total_pairs=1617 total_evicted=1117 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:25.948133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76613 paired=1 still_pending=0
2026-05-27T12:51:37.613579Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1618 total_evicted=1118 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:37.614036Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76614 paired=1 still_pending=0
2026-05-27T12:51:37.975923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:51:43.896370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:44.252255Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:51:48.602891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:48.966039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:49.157103Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:50.031906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:50.301751Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:51.071619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:52.082663Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:54.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1624 total_evicted=1119 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:58.149853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:59.989746Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=6 total_pairs=1624 total_evicted=1122 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:59.990107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:52:00.272261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:52:09.434291Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=3 total_pairs=1625 total_evicted=1126 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:52:09.434541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76617 paired=1 still_pending=0
2026-05-27T12:52:09.689505Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:52:09.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:52:10.576796Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76618 paired=1 still_pending=0
2026-05-27T12:52:14.464913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76620 paired=1 still_pending=0
2026-05-27T12:52:14.822399Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=6 total_pairs=1628 total_evicted=1127 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:52:17.381610Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1629 row_id=76887 frame_id=76622
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:52:17.756761Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:52:20.687432Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76625 paired=1 still_pending=0
2026-05-27T12:52:23.276833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76628 paired=1 still_pending=0
2026-05-27T12:52:29.445253Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) fram...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"8.2ms silence (7505 samples)\n2026-05-27T12:46:02.725845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:02.949643Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76503 paired=1 still_pending=0\n2026-05-27T12:46:03.204961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:08.966239Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1515 row_id=76731 frame_id=76502\n2026-05-27T12:46:08.967122Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=8 total_pairs=1515 total_evicted=1052 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:09.915452Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76505 paired=1 still_pending=0\n2026-05-27T12:46:09.918660Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=7 total_pairs=1516 total_evicted=1053 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:10.727994Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0\n2026-05-27T12:46:11.332742Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1518 row_id=76734 frame_id=76508\n2026-05-27T12:46:11.393442Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:13.443359Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1519 row_id=76735 frame_id=76507\n2026-05-27T12:46:13.803813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:14.929878Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:46:16.187614Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:46:19.819598Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1520 total_evicted=1054 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:23.591470Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76513 paired=1 still_pending=0\n2026-05-27T12:46:23.947762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:25.221434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:26.156752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:27.499978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1523 row_id=76745 frame_id=76514\n2026-05-27T12:46:27.857736Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:29.801132Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76517 paired=1 still_pending=0\n2026-05-27T12:46:29.820656Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1524 total_evicted=1055 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:30.059795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:35.068012Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:35.326448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:41.165011Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1525 total_evicted=1056 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:41.165200Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:41.424152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:41.950824Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:41.952375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:44.668488Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1529 row_id=76751 frame_id=76520\n2026-05-27T12:46:44.669252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1530 row_id=76752 frame_id=76521\n2026-05-27T12:46:46.019527Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1531 row_id=76753 frame_id=76520\n2026-05-27T12:46:48.148247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76520 paired=2 still_pending=0\n2026-05-27T12:46:48.731394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0\n2026-05-27T12:46:51.877240Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1535 total_evicted=1057 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:51.877715Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0\n2026-05-27T12:46:53.648302Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0\n2026-05-27T12:46:54.272758Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0\n2026-05-27T12:46:57.323392Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1539 total_evicted=1058 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:57.323646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0\n2026-05-27T12:47:01.620667Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76525 paired=1 still_pending=0\n2026-05-27T12:47:01.937515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:07.232856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:10.284934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:13.336270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:16.364147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:22.688769Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76526 paired=1 still_pending=0\n2026-05-27T12:47:22.690438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=0 pending_frames=12 total_pairs=1542 total_evicted=1065 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:23.044974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:25.589300Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:25.672034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=10 total_pairs=1542 total_evicted=1067 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:25.672148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0\n2026-05-27T12:47:28.495364Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1544 row_id=76766 frame_id=76529\n2026-05-27T12:47:29.821184Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=8 total_pairs=1544 total_evicted=1069 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:30.403252Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:32.855792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0\n2026-05-27T12:47:33.110578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:33.208117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:38.343309Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=1545 total_evicted=1070 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:38.343422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0\n2026-05-27T12:47:38.703433Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:40.480813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0\n2026-05-27T12:47:40.737804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:40.837862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:41.319113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0\n2026-05-27T12:47:41.574344Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:41.882404Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:43.743921Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1549 row_id=76772 frame_id=76530\n2026-05-27T12:47:44.015965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:44.098460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:45.354191Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=8 total_pairs=1549 total_evicted=1074 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:45.354424Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0\n2026-05-27T12:47:45.621734Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:45.714088Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:50.718103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:53.765110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:55.991145Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=8 total_pairs=1550 total_evicted=1075 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:55.991602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0\n2026-05-27T12:47:56.350961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:57.041657Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76532 paired=1 still_pending=0\n2026-05-27T12:47:57.401889Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:02.927464Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0\n2026-05-27T12:48:02.933165Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1553 total_evicted=1076 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:03.186279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-27T12:48:16.361812Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0\nggml_metal_free: deallocating\n2026-05-27T12:48:16.620142Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:16.733322Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:16.817801Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:48:24.444303Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1554 total_evicted=1077 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:24.444428Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0\n2026-05-27T12:48:24.697885Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:24.800709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:30.629207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0\n2026-05-27T12:48:42.149066Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76535 paired=1 still_pending=0\n2026-05-27T12:48:42.153305Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=9 total_pairs=1557 total_evicted=1081 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:43.290267Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76537 paired=1 still_pending=0\n2026-05-27T12:48:44.821129Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1558 total_evicted=1082 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:46.846673Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76539 paired=1 still_pending=0\n2026-05-27T12:48:49.821591Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1559 total_evicted=1083 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:59.864797Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=1559 total_evicted=1085 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:59.865166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76542 paired=1 still_pending=0\n2026-05-27T12:49:01.065519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76544 paired=1 still_pending=0\n2026-05-27T12:49:01.152640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1562 row_id=76791 frame_id=76544\n2026-05-27T12:49:03.328116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76546 paired=1 still_pending=0\n2026-05-27T12:49:03.331199Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1564 row_id=76793 frame_id=76546\n2026-05-27T12:49:04.821831Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1564 total_evicted=1086 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:06.434589Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1565 row_id=76796 frame_id=76548\n2026-05-27T12:49:09.267795Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1566 row_id=76798 frame_id=76550\n2026-05-27T12:49:11.938278Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76552 paired=1 still_pending=0\n2026-05-27T12:49:13.618263Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1568 row_id=76800 frame_id=76554\n2026-05-27T12:49:14.398973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76556 paired=1 still_pending=0\n2026-05-27T12:49:15.861875Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1570 row_id=76802 frame_id=76558\n2026-05-27T12:49:17.481533Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1571 row_id=76806 frame_id=76560\n2026-05-27T12:49:19.466005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1572 row_id=76807 frame_id=76562\n2026-05-27T12:49:19.821386Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1572 total_evicted=1087 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:27.048800Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76564 paired=1 still_pending=0\n2026-05-27T12:49:27.051285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1573 total_evicted=1088 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:27.936969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76566 paired=2 still_pending=0\n2026-05-27T12:49:29.365779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76567 paired=2 still_pending=0\n2026-05-27T12:49:30.449322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76568 paired=2 still_pending=0\n2026-05-27T12:49:32.150440Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0\n2026-05-27T12:49:36.386782Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1581 total_evicted=1089 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:36.386929Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0\n2026-05-27T12:49:38.220308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76571 paired=1 still_pending=0\n2026-05-27T12:49:38.746143Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76572 paired=1 still_pending=0\n2026-05-27T12:49:42.961297Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames\n2026-05-27T12:49:44.557950Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1585 total_evicted=1091 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:44.558076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76573 paired=1 still_pending=0\n2026-05-27T12:49:45.249599Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76574 paired=1 still_pending=0\n2026-05-27T12:49:45.746700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76575 paired=1 still_pending=0\n2026-05-27T12:49:46.035898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 8.5MB → 3.5MB (2.4x), 50 JPEGs deleted\n2026-05-27T12:49:50.659176Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 70 frames, 12.4MB → 5.1MB (2.4x), 70 JPEGs deleted\n2026-05-27T12:49:58.499676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=14 total_pairs=1588 total_evicted=1092 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:58.499902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76576 paired=1 still_pending=0\n2026-05-27T12:49:58.542706Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:49:58.633153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:49:58.712913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1590 row_id=76829 frame_id=76576\n2026-05-27T12:49:58.713518Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1591 row_id=76830 frame_id=76576\n2026-05-27T12:49:59.688085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:50:00.888000Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1591 total_evicted=1093 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:00.888150Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1592 row_id=76831 frame_id=76576\n2026-05-27T12:50:00.890259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1593 row_id=76832 frame_id=76577\n2026-05-27T12:50:01.565328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:50:01.993453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:50:03.172973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1594 row_id=76837 frame_id=76576\n2026-05-27T12:50:03.177345Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1595 row_id=76838 frame_id=76576\n2026-05-27T12:50:04.821796Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=14 total_pairs=1595 total_evicted=1097 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:05.457735Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1596 row_id=76840 frame_id=76578\n2026-05-27T12:50:07.228497Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1597 row_id=76841 frame_id=76580\n2026-05-27T12:50:09.733766Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1598 row_id=76844 frame_id=76582\n2026-05-27T12:50:09.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=16 total_pairs=1598 total_evicted=1099 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:15.591438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1598 total_evicted=1102 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:15.592552Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1599 row_id=76845 frame_id=76584\n2026-05-27T12:50:16.577941Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1600 row_id=76846 frame_id=76587\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:50:17.212044Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:50:24.730143Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=12 total_pairs=1600 total_evicted=1105 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:24.730523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1601 row_id=76849 frame_id=76589\n2026-05-27T12:50:26.164576Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1602 row_id=76850 frame_id=76591\n2026-05-27T12:50:40.748062Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=12 total_pairs=1602 total_evicted=1106 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:40.748260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76594 paired=1 still_pending=0\n2026-05-27T12:50:47.012001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76596 paired=1 still_pending=0\n2026-05-27T12:50:47.874397Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0\n2026-05-27T12:50:48.229660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1683339962077118729, trigger=typing_pause)\n2026-05-27T12:50:49.214882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0\n2026-05-27T12:50:53.977750Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76598 paired=1 still_pending=0\n2026-05-27T12:50:56.309074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76600 paired=1 still_pending=0\n2026-05-27T12:50:58.173529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0\n2026-05-27T12:50:58.429000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)\n2026-05-27T12:50:58.532571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)\n2026-05-27T12:50:59.091726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0\n2026-05-27T12:50:59.349678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)\n2026-05-27T12:50:59.556623Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)\n2026-05-27T12:51:02.132123Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=12 total_pairs=1610 total_evicted=1110 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:02.132318Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0\n2026-05-27T12:51:03.404947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-418369950010791277, trigger=visual_change)\n2026-05-27T12:51:04.361502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1612 row_id=76864 frame_id=76604\n2026-05-27T12:51:04.363726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1613 row_id=76865 frame_id=76604\n2026-05-27T12:51:05.244764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1614 row_id=76866 frame_id=76606\n2026-05-27T12:51:05.246838Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=13 total_pairs=1614 total_evicted=1111 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:05.878140Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1615 row_id=76867 frame_id=76608\n2026-05-27T12:51:11.887275Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1615 total_evicted=1114 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:11.887419Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1616 row_id=76868 frame_id=76610\n2026-05-27T12:51:12.445237Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76612 paired=1 still_pending=0\n2026-05-27T12:51:25.947864Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=10 total_pairs=1617 total_evicted=1117 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:25.948133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76613 paired=1 still_pending=0\n2026-05-27T12:51:37.613579Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1618 total_evicted=1118 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:37.614036Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76614 paired=1 still_pending=0\n2026-05-27T12:51:37.975923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:51:43.896370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:44.252255Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:51:48.602891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:48.966039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:51:49.157103Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:50.031906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:51:50.301751Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:51.071619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:51:52.082663Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:54.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1624 total_evicted=1119 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:58.149853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:51:59.989746Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=6 total_pairs=1624 total_evicted=1122 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:59.990107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:52:00.272261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:52:09.434291Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=3 total_pairs=1625 total_evicted=1126 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:52:09.434541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76617 paired=1 still_pending=0\n2026-05-27T12:52:09.689505Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:09.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:10.576796Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76618 paired=1 still_pending=0\n2026-05-27T12:52:14.464913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76620 paired=1 still_pending=0\n2026-05-27T12:52:14.822399Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=6 total_pairs=1628 total_evicted=1127 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:52:17.381610Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1629 row_id=76887 frame_id=76622\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:52:17.756761Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:52:20.687432Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76625 paired=1 still_pending=0\n2026-05-27T12:52:23.276833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76628 paired=1 still_pending=0\n2026-05-27T12:52:29.445253Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76631 paired=1 still_pending=0\n2026-05-27T12:52:35.573618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76636 paired=1 still_pending=0\n2026-05-27T12:52:35.832677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:36.132401Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:36.265576Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1634 row_id=76897 frame_id=76636\n2026-05-27T12:52:37.234726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:38.064372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76638 paired=1 still_pending=0\n2026-05-27T12:52:39.823703Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1635 total_evicted=1128 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:52:43.930188Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76639 paired=1 still_pending=0\n2026-05-27T12:52:46.017229Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1637 row_id=76904 frame_id=76641\n2026-05-27T12:52:47.304240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:48.027969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1638 row_id=76905 frame_id=76642\n2026-05-27T12:52:54.083787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76643 paired=1 still_pending=0\n2026-05-27T12:53:01.239348Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=15 total_pairs=1639 total_evicted=1129 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:01.239827Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1640 row_id=76908 frame_id=76646\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T12:53:04.777351Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:05.244178Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:05.505897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:05.661325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1642 row_id=76911 frame_id=76650\n2026-05-27T12:53:05.808767Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:06.844813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:07.035690Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1643 row_id=76912 frame_id=76649\n2026-05-27T12:53:07.288483Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:07.910519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:08.326779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1644 row_id=76913 frame_id=76649\n2026-05-27T12:53:08.579220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:08.991429Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:10.247816Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=19 total_pairs=1644 total_evicted=1130 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:10.248933Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1645 row_id=76914 frame_id=76650\n2026-05-27T12:53:10.501731Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:10.606845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:14.131618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76649 paired=1 still_pending=0\n2026-05-27T12:53:14.385798Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:14.490613Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:14.652826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:14.824885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=20 total_pairs=1647 total_evicted=1132 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:15.520993Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:16.452225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1648 row_id=76917 frame_id=76649\n2026-05-27T12:53:16.706371Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:16.812449Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:23.208871Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=18 total_pairs=1648 total_evicted=1134 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:23.209111Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:23.467637Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:23.567227Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:28.446434Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1649 total_evicted=1135 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:28.446753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:28.700279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:28.813857Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:30.539619Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1650 total_evicted=1136 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:30.539937Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:30.801780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:30.893929Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:38.075979Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=16 total_pairs=1651 total_evicted=1139 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:38.076092Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76649 paired=1 still_pending=0\n2026-05-27T12:53:38.739041Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:38.992883Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:39.514112Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:40.105795Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1654 row_id=76923 frame_id=76652\n2026-05-27T12:53:40.358550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:40.526973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76652 paired=1 still_pending=0\n2026-05-27T12:53:40.566624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:41.611058Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:42.480006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1656 row_id=76925 frame_id=76651\n2026-05-27T12:53:42.736816Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:42.834897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:43.634130Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:43.890029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:43.989975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:45.339208Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:45.341823Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=22 total_pairs=1658 total_evicted=1140 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:45.594921Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:45.696377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:47.530377Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:47.785364Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:47.889305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:48.717425Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:48.972396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:49.075806Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:53.663304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:53.665696Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=22 total_pairs=1661 total_evicted=1142 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:53.919960Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:54.018013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:54.096953Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:54.823746Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=24 total_pairs=1662 total_evicted=1143 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:55.079149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:56.433156Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1663 row_id=76932 frame_id=76651\n2026-05-27T12:53:56.687539Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:56.787636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:54:01.291574Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=23 total_pairs=1663 total_evicted=1144 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:01.292349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:54:01.547357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:01.646452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:03.694676Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76652 paired=1 still_pending=0\n2026-05-27T12:54:03.952196Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:04.053552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:07.640556Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=22 total_pairs=1665 total_evicted=1147 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:07.640661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76652 paired=1 still_pending=0\n2026-05-27T12:54:07.893714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:07.996946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:09.288027Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76652 paired=1 still_pending=0\n2026-05-27T12:54:09.825127Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=23 total_pairs=1667 total_evicted=1148 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:15.668184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1668 row_id=76938 frame_id=76653\n2026-05-27T12:54:15.670142Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=21 total_pairs=1668 total_evicted=1151 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:16.186031Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:54:18.206725Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:54:20.692213Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=20 total_pairs=1668 total_evicted=1152 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:20.692322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76654 paired=1 still_pending=0\n2026-05-27T12:54:20.945531Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:22.991191Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:54:23.912001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76657 paired=1 still_pending=0\n2026-05-27T12:54:24.164999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:24.266612Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:26.059727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:54:29.111103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:54:32.152352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:54:41.576684Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76658 paired=1 still_pending=0\n2026-05-27T12:54:41.578004Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=0 pending_frames=15 total_pairs=1671 total_evicted=1159 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:42.893562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76659 paired=1 still_pending=0\n2026-05-27T12:54:45.361499Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=15 total_pairs=1672 total_evicted=1162 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:45.362048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1673 row_id=76943 frame_id=76660\n2026-05-27T12:54:45.618741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:45.721180Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:49.172741Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76662 paired=1 still_pending=0\n2026-05-27T12:54:49.825099Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=14 total_pairs=1674 total_evicted=1164 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:53.733814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:53.840088Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:54.534550Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=128 elapsed=3.870091791s\n2026-05-27T12:54:54.534693Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 128 eligible frames\n2026-05-27T12:54:57.146949Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 10.3MB → 1.1MB (9.3x), 45 JPEGs deleted\n2026-05-27T12:54:57.808037Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76661 paired=1 still_pending=0\n2026-05-27T12:54:57.809537Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=11 total_pairs=1675 total_evicted=1167 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:58.061022Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:54:58.165735Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:54:58.759330Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76664 paired=1 still_pending=0\n2026-05-27T12:54:59.014754Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:59.217034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:59.662102Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76664 paired=1 still_pending=0\n2026-05-27T12:55:00.227593Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:01.865446Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76665 paired=1 still_pending=0\n2026-05-27T12:55:02.224674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:02.427952Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76664 paired=1 still_pending=0\n2026-05-27T12:55:02.681766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:03.297332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:03.873175Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 81 frames, 17.5MB → 8.4MB (2.1x), 81 JPEGs deleted\n2026-05-27T12:55:04.286873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1680 row_id=76952 frame_id=76664\n2026-05-27T12:55:04.543784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:04.641636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:06.629675Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1680 total_evicted=1169 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:06.629927Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76666 paired=1 still_pending=0\n2026-05-27T12:55:06.987360Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:10.591084Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:12.164204Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=14 total_pairs=1681 total_evicted=1171 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:12.164797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76667 paired=1 still_pending=0\n2026-05-27T12:55:12.423166Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:12.522222Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:13.246413Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76666 paired=1 still_pending=0\n2026-05-27T12:55:13.499608Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:13.604073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:14.015423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:17.061994Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:20.114856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:23.162570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:23.449101Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76668 paired=1 still_pending=0\n2026-05-27T12:55:23.452146Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1684 total_evicted=1173 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:23.812667Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:28.375178Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=14 total_pairs=1684 total_evicted=1174 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:28.375328Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76669 paired=1 still_pending=0\n2026-05-27T12:55:28.633478Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:28.728903Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:29.423389Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:35.382162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76670 paired=1 still_pending=0\n2026-05-27T12:55:35.646523Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:38.694694Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:42.733262Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=15 total_pairs=1686 total_evicted=1175 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:42.733560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76670 paired=1 still_pending=0\n2026-05-27T12:55:42.989336Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:44.797786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:47.170618Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=14 total_pairs=1687 total_evicted=1177 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:47.170851Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76670 paired=1 still_pending=0\n2026-05-27T12:55:49.825580Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1688 total_evicted=1178 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:50.886506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:51.409573Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:56.111203Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1689 row_id=76963 frame_id=76670\n2026-05-27T12:55:56.365310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:57.299001Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:59.000888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76672 paired=1 still_pending=0\n2026-05-27T12:55:59.256379Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:59.358711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:00.463349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:00.464210Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1691 total_evicted=1181 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:00.718056Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:00.818653Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:01.758463Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:02.014459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:02.121005Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:03.690045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76672 paired=1 still_pending=0\n2026-05-27T12:56:03.944746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:04.046481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:08.207792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76672 paired=1 still_pending=0\n2026-05-27T12:56:08.208261Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=12 total_pairs=1694 total_evicted=1185 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:08.460363Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:08.563000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:09.257259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76672 paired=1 still_pending=0\n2026-05-27T12:56:09.512214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:09.614628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:12.027285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:12.283652Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:12.388165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:12.747759Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:13.005390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:13.347191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1698 row_id=76972 frame_id=76673\n2026-05-27T12:56:14.427252Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:15.688073Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1699 row_id=76973 frame_id=76674\n2026-05-27T12:56:15.689284Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1699 total_evicted=1187 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:15.942656Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:16.043914Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:17.081555Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:17.336964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:17.437428Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:56:18.691892Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:56:19.273010Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:19.528995Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:19.629011Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:20.625478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:20.880248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:20.986619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:22.654223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76674 paired=1 still_pending=0\n2026-05-27T12:56:22.909968Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:23.011719Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:23.548341Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:23.803744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:24.006495Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1705 row_id=76979 frame_id=76673\n2026-05-27T12:56:24.107684Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:24.825750Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=22 total_pairs=1705 total_evicted=1188 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:25.199541Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:25.876467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1706 row_id=76980 frame_id=76674\n2026-05-27T12:56:26.133556Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:26.246620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:28.319284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:28.678900Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:29.512325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76675 paired=1 still_pending=0\n2026-05-27T12:56:29.765890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:29.868441Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:31.303921Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=23 total_pairs=1708 total_evicted=1189 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:31.304181Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76675 paired=1 still_pending=0\n2026-05-27T12:56:31.599552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:31.665174Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:57:07.554625Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: soundcore AeroClip (input)\n2026-05-27T12:57:07.554916Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input soundcore AeroClip (input): device soundcore AeroClip (input) not found (will back off)\n2026-05-27T12:57:07.556181Z INFO screenpipe_audio::core::run_record_and_transcribe: stopped recording for MacBook Pro Microphone (input)\n2026-05-27T12:57:07.578407Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: soundcore AeroClip (input)\n2026-05-27T12:57:07.578722Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 1): device soundcore AeroClip (input) not found\n2026-05-27T12:57:09.581148Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 2), starting default: soundcore AeroClip (input)\n2026-05-27T12:57:09.581367Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 2): device soundcore AeroClip (input) not found\n2026-05-27T12:57:11.584406Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 3), starting default: soundcore AeroClip (input)\n2026-05-27T12:57:11.584613Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 3): device soundcore AeroClip (input) not found\n2026-05-27T12:57:13.937049Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 4), starting default: soundcore AeroClip (input)\n2026-05-27T12:57:14.009674Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-27T12:57:14.010711Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=soundcore AeroClip (input)\n2026-05-27T12:57:14.285335Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-27T12:57:16.541527Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=14 pending_events=0 pending_frames=10 total_pairs=1709 total_evicted=1203 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:57:16.541642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76674 paired=1 still_pending=0\n2026-05-27T12:57:16.799399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:16.899957Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:18.274826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76676 paired=1 still_pending=0\n2026-05-27T12:57:18.534644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:18.630757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:21.594196Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=visual_change)\n2026-05-27T12:57:22.826023Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76676 paired=1 still_pending=0\n2026-05-27T12:57:22.829030Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=9 total_pairs=1712 total_evicted=1207 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:57:23.086528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:23.182032Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:24.141919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76676 paired=1 still_pending=0\n2026-05-27T12:57:24.397488Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:24.499275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:25.210614Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=8 total_pairs=1713 total_evicted=1209 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:57:25.210945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76677 paired=1 still_pending=0\n2026-05-27T12:57:25.467455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:25.568062Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:32.594865Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=5 total_pairs=1714 total_evicted=1213 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:57:32.597277Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76676 paired=1 still_pending=0\n2026-05-27T12:57:33.977629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76678 paired=1 still_pending=0\n2026-05-27T12:57:35.476141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76680 paired=1 still_pending=0\n2026-05-27T12:57:35.476737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76680 paired=1 still_pending=0\n2026-05-27T12:57:36.183900Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-27T12:57:36.324651Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-27T12:57:36.478717Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-27T12:57:36.478794Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: MacBook Pro Microphone (input)\n2026-05-27T12:57:36.478830Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-27T12:57:36.895364Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76682 paired=2 still_pending=0\n2026-05-27T12:57:38.543006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76684 paired=1 still_pending=0\n2026-05-27T12:57:43.790453Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-27T12:57:50.881549Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1722 row_id=76996 frame_id=76685\n2026-05-27T12:57:51.260649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:51.827327Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:57:52.293752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:58.714113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:57:59.082416Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:59.646656Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:58:00.114771Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T12:58:07.463734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:58:07.823705Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:58:08.262138Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:58:08.828514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:58:19.107024Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:58:49.465919Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=10 pending_events=0 pending_frames=1 total_pairs=1727 total_evicted=1223 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:58:49.466064Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:58:49.719534Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:58:49.820907Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:01.270140Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=1 total_pairs=1728 total_evicted=1224 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:59:01.270401Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76690 paired=1 still_pending=0\n2026-05-27T12:59:01.628549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:02.350772Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76691 paired=1 still_pending=0\n2026-05-27T12:59:02.711089Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:03.285573Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76689 paired=1 still_pending=0\n2026-05-27T12:59:03.543101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:08.372799Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=visual_change)\n2026-05-27T12:59:09.136458Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76689 paired=1 still_pending=0\n2026-05-27T12:59:09.493536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:10.199967Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76694 paired=1 still_pending=0\n2026-05-27T12:59:10.454306Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:10.565295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:10.840101Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76694 paired=1 still_pending=0\n2026-05-27T12:59:11.107080Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:11.610163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:14.908308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1735 row_id=77009 frame_id=76693\n2026-05-27T12:59:15.177327Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:15.261842Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:16.056292Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76694 paired=1 still_pending=0\n2026-05-27T12:59:16.951065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=visual_change)\n2026-05-27T12:59:18.609211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:18.702022Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76693 paired=1 still_pending=0\n2026-05-27T12:59:19.703607Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:19.918668Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76693 paired=1 still_pending=0\n2026-05-27T12:59:20.481133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:20.568657Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1739 row_id=77014 frame_id=76694\n2026-05-27T12:59:20.795587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:21.841809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:25.988039Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1740 row_id=77015 frame_id=76693\n2026-05-27T12:59:29.053793Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76695 paired=1 still_pending=0\n2026-05-27T12:59:29.410000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:58.023283Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1741 total_evicted=1225 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:59:58.023405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76696 paired=1 still_pending=0\n2026-05-27T12:59:58.292222Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:59.472622Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76696 paired=1 still_pending=0\n2026-05-27T13:00:04.822868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1744 row_id=77024 frame_id=76701\n2026-05-27T13:00:04.827345Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=11 total_pairs=1744 total_evicted=1228 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:00:05.859149Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=101 elapsed=1.980194208s\n2026-05-27T13:00:05.859559Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 101 eligible frames\n2026-05-27T13:00:09.002448Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 53 frames, 8.5MB → 1.2MB (6.8x), 53 JPEGs deleted\n2026-05-27T13:00:12.304060Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 8.7MB → 3.5MB (2.5x), 46 JPEGs deleted\n2026-05-27T13:00:13.315219Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=8 total_pairs=1744 total_evicted=1231 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:00:13.315542Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76703 paired=1 still_pending=0\n2026-05-27T13:00:18.138745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5656284316783846169, trigger=visual_change)\n2026-05-27T13:00:18.743658Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76708 paired=1 still_pending=0\n2026-05-27T13:00:18.970194Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5656284316783846169, trigger=click)\n2026-05-27T13:00:19.064919Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5656284316783846169, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T13:00:19.550865Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T13:00:34.627948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=5 total_pairs=1746 total_evicted=1236 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:00:34.629708Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76709 paired=1 still_pending=0\n2026-05-27T13:00:37.896855Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76713 paired=1 still_pending=0\n2026-05-27T13:00:44.659582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T13:00:45.458546Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76718 paired=1 still_pending=0\n2026-05-27T13:00:45.462157Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76718 paired=1 still_pending=0\n2026-05-27T13:00:45.592000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2009570175445071742, trigger=click)\n2026-05-27T13:00:46.647273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76721 paired=1 still_pending=0\n2026-05-27T13:00:46.650096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76721 paired=1 still_pending=0\n2026-05-27T13:00:46.681874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2009570175445071742, trigger=typing_pause)\n2026-05-27T13:00:48.189864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1753 row_id=77040 frame_id=76720\n2026-05-27T13:00:48.317531Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:48.977644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1754 row_id=77045 frame_id=76723\n2026-05-27T13:00:48.979682Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1755 row_id=77046 frame_id=76723\n2026-05-27T13:00:49.001338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:49.433408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:49.594267Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1756 row_id=77047 frame_id=76723\n2026-05-27T13:00:49.596780Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1757 row_id=77048 frame_id=76723\n2026-05-27T13:00:49.620225Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:50.456681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1758 row_id=77049 frame_id=76722\n2026-05-27T13:00:50.457642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1759 row_id=77050 frame_id=76723\n2026-05-27T13:00:50.531762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:53.664757Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76724 paired=2 still_pending=0\n2026-05-27T13:00:55.402419Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76725 paired=1 still_pending=0\n2026-05-27T13:00:57.778421Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76726 paired=1 still_pending=0\n2026-05-27T13:01:01.961103Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=12 total_pairs=1763 total_evicted=1238 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:01.961343Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76727 paired=1 still_pending=0\n2026-05-27T13:01:02.320337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=typing_pause)\n2026-05-27T13:01:04.027873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76728 paired=1 still_pending=0\n2026-05-27T13:01:04.386554Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=typing_pause)\n2026-05-27T13:01:05.622333Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=12 total_pairs=1765 total_evicted=1239 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:05.622712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76728 paired=1 still_pending=0\n2026-05-27T13:01:10.164349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76730 paired=1 still_pending=0\n2026-05-27T13:01:10.169992Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1768 row_id=77061 frame_id=76730\n2026-05-27T13:01:12.024863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1769 row_id=77062 frame_id=76732\n2026-05-27T13:01:12.462829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76734 paired=2 still_pending=0\n2026-05-27T13:01:14.126015Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76735 paired=2 still_pending=0\n2026-05-27T13:01:15.382300Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=13 total_pairs=1773 total_evicted=1240 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:15.382640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76736 paired=2 still_pending=0\n2026-05-27T13:01:15.386720Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1776 row_id=77069 frame_id=76736\n2026-05-27T13:01:15.387132Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1777 row_id=77070 frame_id=76736\n2026-05-27T13:01:18.895485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76737 paired=4 still_pending=0\n2026-05-27T13:01:19.828153Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=12 total_pairs=1781 total_evicted=1241 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:19.896718Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=visual_change)\n2026-05-27T13:01:34.828385Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1781 total_evicted=1242 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:39.828629Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1781 total_evicted=1243 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:49.827854Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=6 pending_events=0 pending_frames=5 total_pairs=1781 total_evicted=1249 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:54.828618Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=1781 total_evicted=1250 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:56.374350Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=visual_change)\n2026-05-27T13:01:59.071880Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:01:59.169040Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:01:59.829688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1782 row_id=77387 frame_id=76739\n2026-05-27T13:01:59.851908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:00.267666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:02.685662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=visual_change)\n2026-05-27T13:02:04.329864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1783 row_id=77388 frame_id=76739\n2026-05-27T13:02:04.354862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:04.449813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:05.091713Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1784 row_id=77389 frame_id=76739\n2026-05-27T13:02:05.092959Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=1784 total_evicted=1251 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:02:05.126906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:07.308455Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1785 row_id=77390 frame_id=76739\n2026-05-27T13:02:07.347515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8364978901328042122, trigger=click)\n2026-05-27T13:02:08.822599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8364978901328042122, trigger=visual_change)\n2026-05-27T13:02:11.473676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=1785 total_evicted=1252 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:02:11.473945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1786 row_id=77393 frame_id=76740\n2026-05-27T13:02:11.476459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1787 row_id=77394 frame_id=76740\n2026-05-27T13:02:11.500659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8364978901328042122, trigger=click)\n2026-05-27T13:02:11.608706Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8364978901328042122, trigger=click)\n2026-05-27T13:02:13.586173Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1788 row_id=77395 frame_id=76741\n2026-05-27T13:02:13.590392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1789 row_id=77396 frame_id=76741\n2026-05-27T13:02:13.623038Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8364978901328042122, trigger=click)","depth":4,"on_screen":true,"value":"8.2ms silence (7505 samples)\n2026-05-27T12:46:02.725845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:02.949643Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76503 paired=1 still_pending=0\n2026-05-27T12:46:03.204961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:08.966239Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1515 row_id=76731 frame_id=76502\n2026-05-27T12:46:08.967122Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=8 total_pairs=1515 total_evicted=1052 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:09.915452Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76505 paired=1 still_pending=0\n2026-05-27T12:46:09.918660Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=7 total_pairs=1516 total_evicted=1053 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:10.727994Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0\n2026-05-27T12:46:11.332742Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1518 row_id=76734 frame_id=76508\n2026-05-27T12:46:11.393442Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:13.443359Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1519 row_id=76735 frame_id=76507\n2026-05-27T12:46:13.803813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:14.929878Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:46:16.187614Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:46:19.819598Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1520 total_evicted=1054 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:23.591470Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76513 paired=1 still_pending=0\n2026-05-27T12:46:23.947762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:25.221434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:26.156752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:27.499978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1523 row_id=76745 frame_id=76514\n2026-05-27T12:46:27.857736Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:29.801132Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76517 paired=1 still_pending=0\n2026-05-27T12:46:29.820656Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1524 total_evicted=1055 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:30.059795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:35.068012Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:35.326448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:41.165011Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1525 total_evicted=1056 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:41.165200Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:41.424152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:41.950824Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:41.952375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:44.668488Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1529 row_id=76751 frame_id=76520\n2026-05-27T12:46:44.669252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1530 row_id=76752 frame_id=76521\n2026-05-27T12:46:46.019527Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1531 row_id=76753 frame_id=76520\n2026-05-27T12:46:48.148247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76520 paired=2 still_pending=0\n2026-05-27T12:46:48.731394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0\n2026-05-27T12:46:51.877240Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1535 total_evicted=1057 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:51.877715Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0\n2026-05-27T12:46:53.648302Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0\n2026-05-27T12:46:54.272758Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0\n2026-05-27T12:46:57.323392Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1539 total_evicted=1058 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:57.323646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0\n2026-05-27T12:47:01.620667Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76525 paired=1 still_pending=0\n2026-05-27T12:47:01.937515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:07.232856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:10.284934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:13.336270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:16.364147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:22.688769Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76526 paired=1 still_pending=0\n2026-05-27T12:47:22.690438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=0 pending_frames=12 total_pairs=1542 total_evicted=1065 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:23.044974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:25.589300Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:25.672034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=10 total_pairs=1542 total_evicted=1067 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:25.672148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0\n2026-05-27T12:47:28.495364Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1544 row_id=76766 frame_id=76529\n2026-05-27T12:47:29.821184Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=8 total_pairs=1544 total_evicted=1069 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:30.403252Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:32.855792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0\n2026-05-27T12:47:33.110578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:33.208117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:38.343309Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=1545 total_evicted=1070 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:38.343422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0\n2026-05-27T12:47:38.703433Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:40.480813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0\n2026-05-27T12:47:40.737804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:40.837862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:41.319113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0\n2026-05-27T12:47:41.574344Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:41.882404Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:43.743921Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1549 row_id=76772 frame_id=76530\n2026-05-27T12:47:44.015965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:44.098460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:45.354191Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=8 total_pairs=1549 total_evicted=1074 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:45.354424Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0\n2026-05-27T12:47:45.621734Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:45.714088Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:50.718103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:53.765110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:55.991145Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=8 total_pairs=1550 total_evicted=1075 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:55.991602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0\n2026-05-27T12:47:56.350961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:57.041657Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76532 paired=1 still_pending=0\n2026-05-27T12:47:57.401889Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:02.927464Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0\n2026-05-27T12:48:02.933165Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1553 total_evicted=1076 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:03.186279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-27T12:48:16.361812Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0\nggml_metal_free: deallocating\n2026-05-27T12:48:16.620142Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:16.733322Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:16.817801Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:48:24.444303Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1554 total_evicted=1077 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:24.444428Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0\n2026-05-27T12:48:24.697885Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:24.800709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:30.629207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0\n2026-05-27T12:48:42.149066Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76535 paired=1 still_pending=0\n2026-05-27T12:48:42.153305Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=9 total_pairs=1557 total_evicted=1081 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:43.290267Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76537 paired=1 still_pending=0\n2026-05-27T12:48:44.821129Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1558 total_evicted=1082 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:46.846673Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76539 paired=1 still_pending=0\n2026-05-27T12:48:49.821591Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1559 total_evicted=1083 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:59.864797Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=1559 total_evicted=1085 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:59.865166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76542 paired=1 still_pending=0\n2026-05-27T12:49:01.065519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76544 paired=1 still_pending=0\n2026-05-27T12:49:01.152640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1562 row_id=76791 frame_id=76544\n2026-05-27T12:49:03.328116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76546 paired=1 still_pending=0\n2026-05-27T12:49:03.331199Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1564 row_id=76793 frame_id=76546\n2026-05-27T12:49:04.821831Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1564 total_evicted=1086 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:06.434589Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1565 row_id=76796 frame_id=76548\n2026-05-27T12:49:09.267795Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1566 row_id=76798 frame_id=76550\n2026-05-27T12:49:11.938278Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76552 paired=1 still_pending=0\n2026-05-27T12:49:13.618263Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1568 row_id=76800 frame_id=76554\n2026-05-27T12:49:14.398973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76556 paired=1 still_pending=0\n2026-05-27T12:49:15.861875Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1570 row_id=76802 frame_id=76558\n2026-05-27T12:49:17.481533Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1571 row_id=76806 frame_id=76560\n2026-05-27T12:49:19.466005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1572 row_id=76807 frame_id=76562\n2026-05-27T12:49:19.821386Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1572 total_evicted=1087 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:27.048800Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76564 paired=1 still_pending=0\n2026-05-27T12:49:27.051285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1573 total_evicted=1088 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:27.936969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76566 paired=2 still_pending=0\n2026-05-27T12:49:29.365779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76567 paired=2 still_pending=0\n2026-05-27T12:49:30.449322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76568 paired=2 still_pending=0\n2026-05-27T12:49:32.150440Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0\n2026-05-27T12:49:36.386782Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1581 total_evicted=1089 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:36.386929Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0\n2026-05-27T12:49:38.220308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76571 paired=1 still_pending=0\n2026-05-27T12:49:38.746143Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76572 paired=1 still_pending=0\n2026-05-27T12:49:42.961297Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames\n2026-05-27T12:49:44.557950Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1585 total_evicted=1091 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:44.558076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76573 paired=1 still_pending=0\n2026-05-27T12:49:45.249599Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76574 paired=1 still_pending=0\n2026-05-27T12:49:45.746700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76575 paired=1 still_pending=0\n2026-05-27T12:49:46.035898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 8.5MB → 3.5MB (2.4x), 50 JPEGs deleted\n2026-05-27T12:49:50.659176Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 70 frames, 12.4MB → 5.1MB (2.4x), 70 JPEGs deleted\n2026-05-27T12:49:58.499676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=14 total_pairs=1588 total_evicted=1092 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:58.499902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76576 paired=1 still_pending=0\n2026-05-27T12:49:58.542706Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:49:58.633153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:49:58.712913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1590 row_id=76829 frame_id=76576\n2026-05-27T12:49:58.713518Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1591 row_id=76830 frame_id=76576\n2026-05-27T12:49:59.688085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:50:00.888000Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1591 total_evicted=1093 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:00.888150Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1592 row_id=76831 frame_id=76576\n2026-05-27T12:50:00.890259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1593 row_id=76832 frame_id=76577\n2026-05-27T12:50:01.565328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:50:01.993453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:50:03.172973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1594 row_id=76837 frame_id=76576\n2026-05-27T12:50:03.177345Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1595 row_id=76838 frame_id=76576\n2026-05-27T12:50:04.821796Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=14 total_pairs=1595 total_evicted=1097 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:05.457735Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1596 row_id=76840 frame_id=76578\n2026-05-27T12:50:07.228497Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1597 row_id=76841 frame_id=76580\n2026-05-27T12:50:09.733766Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1598 row_id=76844 frame_id=76582\n2026-05-27T12:50:09.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=16 total_pairs=1598 total_evicted=1099 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:15.591438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1598 total_evicted=1102 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:15.592552Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1599 row_id=76845 frame_id=76584\n2026-05-27T12:50:16.577941Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1600 row_id=76846 frame_id=76587\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:50:17.212044Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:50:24.730143Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=12 total_pairs=1600 total_evicted=1105 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:24.730523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1601 row_id=76849 frame_id=76589\n2026-05-27T12:50:26.164576Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1602 row_id=76850 frame_id=76591\n2026-05-27T12:50:40.748062Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=12 total_pairs=1602 total_evicted=1106 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:40.748260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76594 paired=1 still_pending=0\n2026-05-27T12:50:47.012001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76596 paired=1 still_pending=0\n2026-05-27T12:50:47.874397Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0\n2026-05-27T12:50:48.229660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1683339962077118729, trigger=typing_pause)\n2026-05-27T12:50:49.214882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0\n2026-05-27T12:50:53.977750Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76598 paired=1 still_pending=0\n2026-05-27T12:50:56.309074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76600 paired=1 still_pending=0\n2026-05-27T12:50:58.173529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0\n2026-05-27T12:50:58.429000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)\n2026-05-27T12:50:58.532571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)\n2026-05-27T12:50:59.091726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0\n2026-05-27T12:50:59.349678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)\n2026-05-27T12:50:59.556623Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)\n2026-05-27T12:51:02.132123Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=12 total_pairs=1610 total_evicted=1110 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:02.132318Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0\n2026-05-27T12:51:03.404947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-418369950010791277, trigger=visual_change)\n2026-05-27T12:51:04.361502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1612 row_id=76864 frame_id=76604\n2026-05-27T12:51:04.363726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1613 row_id=76865 frame_id=76604\n2026-05-27T12:51:05.244764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1614 row_id=76866 frame_id=76606\n2026-05-27T12:51:05.246838Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=13 total_pairs=1614 total_evicted=1111 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:05.878140Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1615 row_id=76867 frame_id=76608\n2026-05-27T12:51:11.887275Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1615 total_evicted=1114 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:11.887419Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1616 row_id=76868 frame_id=76610\n2026-05-27T12:51:12.445237Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76612 paired=1 still_pending=0\n2026-05-27T12:51:25.947864Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=10 total_pairs=1617 total_evicted=1117 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:25.948133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76613 paired=1 still_pending=0\n2026-05-27T12:51:37.613579Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1618 total_evicted=1118 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:37.614036Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76614 paired=1 still_pending=0\n2026-05-27T12:51:37.975923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:51:43.896370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:44.252255Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:51:48.602891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:48.966039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:51:49.157103Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:50.031906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:51:50.301751Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:51.071619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:51:52.082663Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:54.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1624 total_evicted=1119 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:58.149853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:51:59.989746Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=6 total_pairs=1624 total_evicted=1122 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:59.990107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:52:00.272261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:52:09.434291Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=3 total_pairs=1625 total_evicted=1126 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:52:09.434541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76617 paired=1 still_pending=0\n2026-05-27T12:52:09.689505Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:09.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:10.576796Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76618 paired=1 still_pending=0\n2026-05-27T12:52:14.464913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76620 paired=1 still_pending=0\n2026-05-27T12:52:14.822399Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=6 total_pairs=1628 total_evicted=1127 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:52:17.381610Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1629 row_id=76887 frame_id=76622\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:52:17.756761Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:52:20.687432Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76625 paired=1 still_pending=0\n2026-05-27T12:52:23.276833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76628 paired=1 still_pending=0\n2026-05-27T12:52:29.445253Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76631 paired=1 still_pending=0\n2026-05-27T12:52:35.573618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76636 paired=1 still_pending=0\n2026-05-27T12:52:35.832677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:36.132401Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:36.265576Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1634 row_id=76897 frame_id=76636\n2026-05-27T12:52:37.234726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:38.064372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76638 paired=1 still_pending=0\n2026-05-27T12:52:39.823703Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1635 total_evicted=1128 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:52:43.930188Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76639 paired=1 still_pending=0\n2026-05-27T12:52:46.017229Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1637 row_id=76904 frame_id=76641\n2026-05-27T12:52:47.304240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:48.027969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1638 row_id=76905 frame_id=76642\n2026-05-27T12:52:54.083787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76643 paired=1 still_pending=0\n2026-05-27T12:53:01.239348Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=15 total_pairs=1639 total_evicted=1129 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:01.239827Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1640 row_id=76908 frame_id=76646\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T12:53:04.777351Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:05.244178Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:05.505897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:05.661325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1642 row_id=76911 frame_id=76650\n2026-05-27T12:53:05.808767Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:06.844813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:07.035690Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1643 row_id=76912 frame_id=76649\n2026-05-27T12:53:07.288483Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:07.910519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:08.326779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1644 row_id=76913 frame_id=76649\n2026-05-27T12:53:08.579220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:08.991429Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:10.247816Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=19 total_pairs=1644 total_evicted=1130 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:10.248933Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1645 row_id=76914 frame_id=76650\n2026-05-27T12:53:10.501731Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:10.606845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:14.131618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76649 paired=1 still_pending=0\n2026-05-27T12:53:14.385798Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:14.490613Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:14.652826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:14.824885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=20 total_pairs=1647 total_evicted=1132 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:15.520993Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:16.452225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1648 row_id=76917 frame_id=76649\n2026-05-27T12:53:16.706371Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:16.812449Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:23.208871Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=18 total_pairs=1648 total_evicted=1134 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:23.209111Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:23.467637Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:23.567227Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:28.446434Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1649 total_evicted=1135 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:28.446753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:28.700279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:28.813857Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:30.539619Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1650 total_evicted=1136 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:30.539937Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:30.801780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:30.893929Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:38.075979Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=16 total_pairs=1651 total_evicted=1139 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:38.076092Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76649 paired=1 still_pending=0\n2026-05-27T12:53:38.739041Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:38.992883Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:39.514112Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:40.105795Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1654 row_id=76923 frame_id=76652\n2026-05-27T12:53:40.358550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:40.526973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76652 paired=1 still_pending=0\n2026-05-27T12:53:40.566624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:41.611058Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:42.480006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1656 row_id=76925 frame_id=76651\n2026-05-27T12:53:42.736816Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:42.834897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:43.634130Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:43.890029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:43.989975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:45.339208Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:45.341823Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=22 total_pairs=1658 total_evicted=1140 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:45.594921Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:45.696377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:47.530377Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:47.785364Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:47.889305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:48.717425Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:48.972396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:49.075806Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:53.663304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:53.665696Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=22 total_pairs=1661 total_evicted=1142 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:53.919960Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:54.018013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:54.096953Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:54.823746Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=24 total_pairs=1662 total_evicted=1143 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:55.079149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:56.433156Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1663 row_id=76932 frame_id=76651\n2026-05-27T12:53:56.687539Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:56.787636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:54:01.291574Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=23 total_pairs=1663 total_evicted=1144 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:01.292349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:54:01.547357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:01.646452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:03.694676Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76652 paired=1 still_pending=0\n2026-05-27T12:54:03.952196Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:04.053552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:07.640556Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=22 total_pairs=1665 total_evicted=1147 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:07.640661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76652 paired=1 still_pending=0\n2026-05-27T12:54:07.893714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:07.996946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:09.288027Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76652 paired=1 still_pending=0\n2026-05-27T12:54:09.825127Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=23 total_pairs=1667 total_evicted=1148 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:15.668184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1668 row_id=76938 frame_id=76653\n2026-05-27T12:54:15.670142Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=21 total_pairs=1668 total_evicted=1151 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:16.186031Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:54:18.206725Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:54:20.692213Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=20 total_pairs=1668 total_evicted=1152 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:20.692322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76654 paired=1 still_pending=0\n2026-05-27T12:54:20.945531Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:22.991191Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:54:23.912001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76657 paired=1 still_pending=0\n2026-05-27T12:54:24.164999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:24.266612Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:26.059727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:54:29.111103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:54:32.152352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:54:41.576684Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76658 paired=1 still_pending=0\n2026-05-27T12:54:41.578004Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=0 pending_frames=15 total_pairs=1671 total_evicted=1159 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:42.893562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76659 paired=1 still_pending=0\n2026-05-27T12:54:45.361499Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=15 total_pairs=1672 total_evicted=1162 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:45.362048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1673 row_id=76943 frame_id=76660\n2026-05-27T12:54:45.618741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:45.721180Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:49.172741Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76662 paired=1 still_pending=0\n2026-05-27T12:54:49.825099Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=14 total_pairs=1674 total_evicted=1164 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:53.733814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:53.840088Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:54.534550Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=128 elapsed=3.870091791s\n2026-05-27T12:54:54.534693Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 128 eligible frames\n2026-05-27T12:54:57.146949Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 10.3MB → 1.1MB (9.3x), 45 JPEGs deleted\n2026-05-27T12:54:57.808037Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76661 paired=1 still_pending=0\n2026-05-27T12:54:57.809537Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=11 total_pairs=1675 total_evicted=1167 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:58.061022Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:54:58.165735Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:54:58.759330Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76664 paired=1 still_pending=0\n2026-05-27T12:54:59.014754Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:59.217034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:59.662102Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76664 paired=1 still_pending=0\n2026-05-27T12:55:00.227593Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:01.865446Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76665 paired=1 still_pending=0\n2026-05-27T12:55:02.224674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:02.427952Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76664 paired=1 still_pending=0\n2026-05-27T12:55:02.681766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:03.297332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:03.873175Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 81 frames, 17.5MB → 8.4MB (2.1x), 81 JPEGs deleted\n2026-05-27T12:55:04.286873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1680 row_id=76952 frame_id=76664\n2026-05-27T12:55:04.543784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:04.641636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:06.629675Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1680 total_evicted=1169 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:06.629927Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76666 paired=1 still_pending=0\n2026-05-27T12:55:06.987360Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:10.591084Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:12.164204Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=14 total_pairs=1681 total_evicted=1171 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:12.164797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76667 paired=1 still_pending=0\n2026-05-27T12:55:12.423166Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:12.522222Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:13.246413Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76666 paired=1 still_pending=0\n2026-05-27T12:55:13.499608Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:13.604073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:14.015423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:17.061994Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:20.114856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:23.162570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:23.449101Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76668 paired=1 still_pending=0\n2026-05-27T12:55:23.452146Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1684 total_evicted=1173 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:23.812667Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:28.375178Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=14 total_pairs=1684 total_evicted=1174 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:28.375328Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76669 paired=1 still_pending=0\n2026-05-27T12:55:28.633478Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:28.728903Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:29.423389Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:35.382162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76670 paired=1 still_pending=0\n2026-05-27T12:55:35.646523Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:38.694694Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:42.733262Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=15 total_pairs=1686 total_evicted=1175 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:42.733560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76670 paired=1 still_pending=0\n2026-05-27T12:55:42.989336Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:44.797786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:47.170618Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=14 total_pairs=1687 total_evicted=1177 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:47.170851Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76670 paired=1 still_pending=0\n2026-05-27T12:55:49.825580Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1688 total_evicted=1178 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:50.886506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:51.409573Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:56.111203Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1689 row_id=76963 frame_id=76670\n2026-05-27T12:55:56.365310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:57.299001Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:59.000888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76672 paired=1 still_pending=0\n2026-05-27T12:55:59.256379Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:59.358711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:00.463349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:00.464210Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1691 total_evicted=1181 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:00.718056Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:00.818653Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:01.758463Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:02.014459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:02.121005Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:03.690045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76672 paired=1 still_pending=0\n2026-05-27T12:56:03.944746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:04.046481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:08.207792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76672 paired=1 still_pending=0\n2026-05-27T12:56:08.208261Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=12 total_pairs=1694 total_evicted=1185 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:08.460363Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:08.563000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:09.257259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76672 paired=1 still_pending=0\n2026-05-27T12:56:09.512214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:09.614628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:12.027285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:12.283652Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:12.388165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:12.747759Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:13.005390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:13.347191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1698 row_id=76972 frame_id=76673\n2026-05-27T12:56:14.427252Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:15.688073Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1699 row_id=76973 frame_id=76674\n2026-05-27T12:56:15.689284Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1699 total_evicted=1187 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:15.942656Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:16.043914Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:17.081555Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:17.336964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:17.437428Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:56:18.691892Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:56:19.273010Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:19.528995Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:19.629011Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:20.625478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:20.880248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:20.986619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:22.654223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76674 paired=1 still_pending=0\n2026-05-27T12:56:22.909968Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:23.011719Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:23.548341Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:23.803744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:24.006495Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1705 row_id=76979 frame_id=76673\n2026-05-27T12:56:24.107684Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:24.825750Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=22 total_pairs=1705 total_evicted=1188 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:25.199541Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:25.876467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1706 row_id=76980 frame_id=76674\n2026-05-27T12:56:26.133556Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:26.246620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:28.319284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:28.678900Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:29.512325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76675 paired=1 still_pending=0\n2026-05-27T12:56:29.765890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:29.868441Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:31.303921Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=23 total_pairs=1708 total_evicted=1189 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:31.304181Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76675 paired=1 still_pending=0\n2026-05-27T12:56:31.599552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:31.665174Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:57:07.554625Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: soundcore AeroClip (input)\n2026-05-27T12:57:07.554916Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input soundcore AeroClip (input): device soundcore AeroClip (input) not found (will back off)\n2026-05-27T12:57:07.556181Z INFO screenpipe_audio::core::run_record_and_transcribe: stopped recording for MacBook Pro Microphone (input)\n2026-05-27T12:57:07.578407Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: soundcore AeroClip (input)\n2026-05-27T12:57:07.578722Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 1): device soundcore AeroClip (input) not found\n2026-05-27T12:57:09.581148Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 2), starting default: soundcore AeroClip (input)\n2026-05-27T12:57:09.581367Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 2): device soundcore AeroClip (input) not found\n2026-05-27T12:57:11.584406Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 3), starting default: soundcore AeroClip (input)\n2026-05-27T12:57:11.584613Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 3): device soundcore AeroClip (input) not found\n2026-05-27T12:57:13.937049Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 4), starting default: soundcore AeroClip (input)\n2026-05-27T12:57:14.009674Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-27T12:57:14.010711Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=soundcore AeroClip (input)\n2026-05-27T12:57:14.285335Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-27T12:57:16.541527Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=14 pending_events=0 pending_frames=10 total_pairs=1709 total_evicted=1203 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:57:16.541642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76674 paired=1 still_pending=0\n2026-05-27T12:57:16.799399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:16.899957Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:18.274826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76676 paired=1 still_pending=0\n2026-05-27T12:57:18.534644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:18.630757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:21.594196Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=visual_change)\n2026-05-27T12:57:22.826023Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76676 paired=1 still_pending=0\n2026-05-27T12:57:22.829030Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=9 total_pairs=1712 total_evicted=1207 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:57:23.086528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:23.182032Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:24.141919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76676 paired=1 still_pending=0\n2026-05-27T12:57:24.397488Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:24.499275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:25.210614Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=8 total_pairs=1713 total_evicted=1209 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:57:25.210945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76677 paired=1 still_pending=0\n2026-05-27T12:57:25.467455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:25.568062Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:32.594865Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=5 total_pairs=1714 total_evicted=1213 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:57:32.597277Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76676 paired=1 still_pending=0\n2026-05-27T12:57:33.977629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76678 paired=1 still_pending=0\n2026-05-27T12:57:35.476141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76680 paired=1 still_pending=0\n2026-05-27T12:57:35.476737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76680 paired=1 still_pending=0\n2026-05-27T12:57:36.183900Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-27T12:57:36.324651Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-27T12:57:36.478717Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-27T12:57:36.478794Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: MacBook Pro Microphone (input)\n2026-05-27T12:57:36.478830Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-27T12:57:36.895364Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76682 paired=2 still_pending=0\n2026-05-27T12:57:38.543006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76684 paired=1 still_pending=0\n2026-05-27T12:57:43.790453Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-27T12:57:50.881549Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1722 row_id=76996 frame_id=76685\n2026-05-27T12:57:51.260649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:51.827327Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:57:52.293752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:58.714113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:57:59.082416Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:59.646656Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:58:00.114771Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T12:58:07.463734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:58:07.823705Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:58:08.262138Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:58:08.828514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:58:19.107024Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:58:49.465919Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=10 pending_events=0 pending_frames=1 total_pairs=1727 total_evicted=1223 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:58:49.466064Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:58:49.719534Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:58:49.820907Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:01.270140Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=1 total_pairs=1728 total_evicted=1224 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:59:01.270401Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76690 paired=1 still_pending=0\n2026-05-27T12:59:01.628549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:02.350772Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76691 paired=1 still_pending=0\n2026-05-27T12:59:02.711089Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:03.285573Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76689 paired=1 still_pending=0\n2026-05-27T12:59:03.543101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:08.372799Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=visual_change)\n2026-05-27T12:59:09.136458Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76689 paired=1 still_pending=0\n2026-05-27T12:59:09.493536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:10.199967Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76694 paired=1 still_pending=0\n2026-05-27T12:59:10.454306Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:10.565295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:10.840101Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76694 paired=1 still_pending=0\n2026-05-27T12:59:11.107080Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:11.610163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:14.908308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1735 row_id=77009 frame_id=76693\n2026-05-27T12:59:15.177327Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:15.261842Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:16.056292Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76694 paired=1 still_pending=0\n2026-05-27T12:59:16.951065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=visual_change)\n2026-05-27T12:59:18.609211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:18.702022Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76693 paired=1 still_pending=0\n2026-05-27T12:59:19.703607Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:19.918668Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76693 paired=1 still_pending=0\n2026-05-27T12:59:20.481133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:20.568657Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1739 row_id=77014 frame_id=76694\n2026-05-27T12:59:20.795587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:21.841809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:25.988039Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1740 row_id=77015 frame_id=76693\n2026-05-27T12:59:29.053793Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76695 paired=1 still_pending=0\n2026-05-27T12:59:29.410000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:58.023283Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1741 total_evicted=1225 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:59:58.023405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76696 paired=1 still_pending=0\n2026-05-27T12:59:58.292222Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:59.472622Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76696 paired=1 still_pending=0\n2026-05-27T13:00:04.822868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1744 row_id=77024 frame_id=76701\n2026-05-27T13:00:04.827345Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=11 total_pairs=1744 total_evicted=1228 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:00:05.859149Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=101 elapsed=1.980194208s\n2026-05-27T13:00:05.859559Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 101 eligible frames\n2026-05-27T13:00:09.002448Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 53 frames, 8.5MB → 1.2MB (6.8x), 53 JPEGs deleted\n2026-05-27T13:00:12.304060Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 8.7MB → 3.5MB (2.5x), 46 JPEGs deleted\n2026-05-27T13:00:13.315219Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=8 total_pairs=1744 total_evicted=1231 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:00:13.315542Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76703 paired=1 still_pending=0\n2026-05-27T13:00:18.138745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5656284316783846169, trigger=visual_change)\n2026-05-27T13:00:18.743658Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76708 paired=1 still_pending=0\n2026-05-27T13:00:18.970194Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5656284316783846169, trigger=click)\n2026-05-27T13:00:19.064919Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5656284316783846169, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T13:00:19.550865Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T13:00:34.627948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=5 total_pairs=1746 total_evicted=1236 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:00:34.629708Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76709 paired=1 still_pending=0\n2026-05-27T13:00:37.896855Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76713 paired=1 still_pending=0\n2026-05-27T13:00:44.659582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T13:00:45.458546Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76718 paired=1 still_pending=0\n2026-05-27T13:00:45.462157Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76718 paired=1 still_pending=0\n2026-05-27T13:00:45.592000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2009570175445071742, trigger=click)\n2026-05-27T13:00:46.647273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76721 paired=1 still_pending=0\n2026-05-27T13:00:46.650096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76721 paired=1 still_pending=0\n2026-05-27T13:00:46.681874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2009570175445071742, trigger=typing_pause)\n2026-05-27T13:00:48.189864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1753 row_id=77040 frame_id=76720\n2026-05-27T13:00:48.317531Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:48.977644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1754 row_id=77045 frame_id=76723\n2026-05-27T13:00:48.979682Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1755 row_id=77046 frame_id=76723\n2026-05-27T13:00:49.001338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:49.433408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:49.594267Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1756 row_id=77047 frame_id=76723\n2026-05-27T13:00:49.596780Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1757 row_id=77048 frame_id=76723\n2026-05-27T13:00:49.620225Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:50.456681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1758 row_id=77049 frame_id=76722\n2026-05-27T13:00:50.457642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1759 row_id=77050 frame_id=76723\n2026-05-27T13:00:50.531762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:53.664757Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76724 paired=2 still_pending=0\n2026-05-27T13:00:55.402419Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76725 paired=1 still_pending=0\n2026-05-27T13:00:57.778421Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76726 paired=1 still_pending=0\n2026-05-27T13:01:01.961103Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=12 total_pairs=1763 total_evicted=1238 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:01.961343Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76727 paired=1 still_pending=0\n2026-05-27T13:01:02.320337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=typing_pause)\n2026-05-27T13:01:04.027873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76728 paired=1 still_pending=0\n2026-05-27T13:01:04.386554Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=typing_pause)\n2026-05-27T13:01:05.622333Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=12 total_pairs=1765 total_evicted=1239 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:05.622712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76728 paired=1 still_pending=0\n2026-05-27T13:01:10.164349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76730 paired=1 still_pending=0\n2026-05-27T13:01:10.169992Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1768 row_id=77061 frame_id=76730\n2026-05-27T13:01:12.024863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1769 row_id=77062 frame_id=76732\n2026-05-27T13:01:12.462829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76734 paired=2 still_pending=0\n2026-05-27T13:01:14.126015Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76735 paired=2 still_pending=0\n2026-05-27T13:01:15.382300Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=13 total_pairs=1773 total_evicted=1240 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:15.382640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76736 paired=2 still_pending=0\n2026-05-27T13:01:15.386720Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1776 row_id=77069 frame_id=76736\n2026-05-27T13:01:15.387132Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1777 row_id=77070 frame_id=76736\n2026-05-27T13:01:18.895485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76737 paired=4 still_pending=0\n2026-05-27T13:01:19.828153Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=12 total_pairs=1781 total_evicted=1241 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:19.896718Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=visual_change)\n2026-05-27T13:01:34.828385Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1781 total_evicted=1242 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:39.828629Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1781 total_evicted=1243 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:49.827854Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=6 pending_events=0 pending_frames=5 total_pairs=1781 total_evicted=1249 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:54.828618Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=1781 total_evicted=1250 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:56.374350Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=visual_change)\n2026-05-27T13:01:59.071880Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:01:59.169040Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:01:59.829688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1782 row_id=77387 frame_id=76739\n2026-05-27T13:01:59.851908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:00.267666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:02.685662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=visual_change)\n2026-05-27T13:02:04.329864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1783 row_id=77388 frame_id=76739\n2026-05-27T13:02:04.354862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:04.449813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:05.091713Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1784 row_id=77389 frame_id=76739\n2026-05-27T13:02:05.092959Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=1784 total_evicted=1251 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:02:05.126906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:07.308455Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1785 row_id=77390 frame_id=76739\n2026-05-27T13:02:07.347515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8364978901328042122, trigger=click)\n2026-05-27T13:02:08.822599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8364978901328042122, trigger=visual_change)\n2026-05-27T13:02:11.473676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=1785 total_evicted=1252 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:02:11.473945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1786 row_id=77393 frame_id=76740\n2026-05-27T13:02:11.476459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1787 row_id=77394 frame_id=76740\n2026-05-27T13:02:11.500659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8364978901328042122, trigger=click)\n2026-05-27T13:02:11.608706Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8364978901328042122, trigger=click)\n2026-05-27T13:02:13.586173Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1788 row_id=77395 frame_id=76741\n2026-05-27T13:02:13.590392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1789 row_id=77396 frame_id=76741\n2026-05-27T13:02:13.623038Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8364978901328042122, trigger=click)","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16388889,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.16388889,"top":0.05888889,"width":0.16388889,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.16805555,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.32777777,"top":0.05888889,"width":0.16388889,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.33194444,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.49166667,"top":0.05888889,"width":0.16388889,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.49583334,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-129-190:~ (nc)","depth":2,"bounds":{"left":0.65555555,"top":0.05888889,"width":0.16388889,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.6597222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-140-255:~ (-zsh)","depth":2,"bounds":{"left":0.8194444,"top":0.05888889,"width":0.16388889,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.82361114,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.47083333,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
7938192818966590091
|
2647283181626160476
|
click
|
accessibility
|
NULL
|
8.2ms silence (7505 samples)
2026-05-27T12:46:02.7 8.2ms silence (7505 samples)
2026-05-27T12:46:02.725845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:02.949643Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76503 paired=1 still_pending=0
2026-05-27T12:46:03.204961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:08.966239Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1515 row_id=76731 frame_id=76502
2026-05-27T12:46:08.967122Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=8 total_pairs=1515 total_evicted=1052 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:09.915452Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76505 paired=1 still_pending=0
2026-05-27T12:46:09.918660Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=7 total_pairs=1516 total_evicted=1053 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:10.727994Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0
2026-05-27T12:46:11.332742Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1518 row_id=76734 frame_id=76508
2026-05-27T12:46:11.393442Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:13.443359Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1519 row_id=76735 frame_id=76507
2026-05-27T12:46:13.803813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:14.929878Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:46:16.187614Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:46:19.819598Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1520 total_evicted=1054 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:23.591470Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76513 paired=1 still_pending=0
2026-05-27T12:46:23.947762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:25.221434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:26.156752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:27.499978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1523 row_id=76745 frame_id=76514
2026-05-27T12:46:27.857736Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:29.801132Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76517 paired=1 still_pending=0
2026-05-27T12:46:29.820656Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1524 total_evicted=1055 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:30.059795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:35.068012Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:35.326448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:41.165011Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1525 total_evicted=1056 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:41.165200Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:41.424152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:41.950824Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:41.952375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:44.668488Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1529 row_id=76751 frame_id=76520
2026-05-27T12:46:44.669252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1530 row_id=76752 frame_id=76521
2026-05-27T12:46:46.019527Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1531 row_id=76753 frame_id=76520
2026-05-27T12:46:48.148247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76520 paired=2 still_pending=0
2026-05-27T12:46:48.731394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0
2026-05-27T12:46:51.877240Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1535 total_evicted=1057 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:51.877715Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0
2026-05-27T12:46:53.648302Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0
2026-05-27T12:46:54.272758Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0
2026-05-27T12:46:57.323392Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1539 total_evicted=1058 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:57.323646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0
2026-05-27T12:47:01.620667Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76525 paired=1 still_pending=0
2026-05-27T12:47:01.937515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:07.232856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:10.284934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:13.336270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:16.364147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:22.688769Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76526 paired=1 still_pending=0
2026-05-27T12:47:22.690438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=0 pending_frames=12 total_pairs=1542 total_evicted=1065 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:23.044974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:25.589300Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:25.672034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=10 total_pairs=1542 total_evicted=1067 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:25.672148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0
2026-05-27T12:47:28.495364Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1544 row_id=76766 frame_id=76529
2026-05-27T12:47:29.821184Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=8 total_pairs=1544 total_evicted=1069 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:30.403252Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:32.855792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0
2026-05-27T12:47:33.110578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:33.208117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:38.343309Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=1545 total_evicted=1070 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:38.343422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0
2026-05-27T12:47:38.703433Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:40.480813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0
2026-05-27T12:47:40.737804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:40.837862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:41.319113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0
2026-05-27T12:47:41.574344Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:41.882404Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:43.743921Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1549 row_id=76772 frame_id=76530
2026-05-27T12:47:44.015965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:44.098460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:45.354191Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=8 total_pairs=1549 total_evicted=1074 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:45.354424Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0
2026-05-27T12:47:45.621734Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:45.714088Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:50.718103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:53.765110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:55.991145Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=8 total_pairs=1550 total_evicted=1075 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:55.991602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0
2026-05-27T12:47:56.350961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:57.041657Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76532 paired=1 still_pending=0
2026-05-27T12:47:57.401889Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:02.927464Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0
2026-05-27T12:48:02.933165Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1553 total_evicted=1076 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:03.186279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-27T12:48:16.361812Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0
ggml_metal_free: deallocating
2026-05-27T12:48:16.620142Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:16.733322Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:16.817801Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:48:24.444303Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1554 total_evicted=1077 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:24.444428Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0
2026-05-27T12:48:24.697885Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:24.800709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:30.629207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0
2026-05-27T12:48:42.149066Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76535 paired=1 still_pending=0
2026-05-27T12:48:42.153305Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=9 total_pairs=1557 total_evicted=1081 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:43.290267Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76537 paired=1 still_pending=0
2026-05-27T12:48:44.821129Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1558 total_evicted=1082 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:46.846673Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76539 paired=1 still_pending=0
2026-05-27T12:48:49.821591Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1559 total_evicted=1083 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:59.864797Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=1559 total_evicted=1085 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:59.865166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76542 paired=1 still_pending=0
2026-05-27T12:49:01.065519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76544 paired=1 still_pending=0
2026-05-27T12:49:01.152640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1562 row_id=76791 frame_id=76544
2026-05-27T12:49:03.328116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76546 paired=1 still_pending=0
2026-05-27T12:49:03.331199Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1564 row_id=76793 frame_id=76546
2026-05-27T12:49:04.821831Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1564 total_evicted=1086 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:06.434589Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1565 row_id=76796 frame_id=76548
2026-05-27T12:49:09.267795Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1566 row_id=76798 frame_id=76550
2026-05-27T12:49:11.938278Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76552 paired=1 still_pending=0
2026-05-27T12:49:13.618263Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1568 row_id=76800 frame_id=76554
2026-05-27T12:49:14.398973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76556 paired=1 still_pending=0
2026-05-27T12:49:15.861875Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1570 row_id=76802 frame_id=76558
2026-05-27T12:49:17.481533Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1571 row_id=76806 frame_id=76560
2026-05-27T12:49:19.466005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1572 row_id=76807 frame_id=76562
2026-05-27T12:49:19.821386Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1572 total_evicted=1087 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:27.048800Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76564 paired=1 still_pending=0
2026-05-27T12:49:27.051285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1573 total_evicted=1088 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:27.936969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76566 paired=2 still_pending=0
2026-05-27T12:49:29.365779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76567 paired=2 still_pending=0
2026-05-27T12:49:30.449322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76568 paired=2 still_pending=0
2026-05-27T12:49:32.150440Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0
2026-05-27T12:49:36.386782Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1581 total_evicted=1089 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:36.386929Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0
2026-05-27T12:49:38.220308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76571 paired=1 still_pending=0
2026-05-27T12:49:38.746143Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76572 paired=1 still_pending=0
2026-05-27T12:49:42.961297Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames
2026-05-27T12:49:44.557950Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1585 total_evicted=1091 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:44.558076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76573 paired=1 still_pending=0
2026-05-27T12:49:45.249599Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76574 paired=1 still_pending=0
2026-05-27T12:49:45.746700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76575 paired=1 still_pending=0
2026-05-27T12:49:46.035898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 8.5MB → 3.5MB (2.4x), 50 JPEGs deleted
2026-05-27T12:49:50.659176Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 70 frames, 12.4MB → 5.1MB (2.4x), 70 JPEGs deleted
2026-05-27T12:49:58.499676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=14 total_pairs=1588 total_evicted=1092 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:58.499902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76576 paired=1 still_pending=0
2026-05-27T12:49:58.542706Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)
2026-05-27T12:49:58.633153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)
2026-05-27T12:49:58.712913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1590 row_id=76829 frame_id=76576
2026-05-27T12:49:58.713518Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1591 row_id=76830 frame_id=76576
2026-05-27T12:49:59.688085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)
2026-05-27T12:50:00.888000Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1591 total_evicted=1093 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:00.888150Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1592 row_id=76831 frame_id=76576
2026-05-27T12:50:00.890259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1593 row_id=76832 frame_id=76577
2026-05-27T12:50:01.565328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)
2026-05-27T12:50:01.993453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)
2026-05-27T12:50:03.172973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1594 row_id=76837 frame_id=76576
2026-05-27T12:50:03.177345Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1595 row_id=76838 frame_id=76576
2026-05-27T12:50:04.821796Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=14 total_pairs=1595 total_evicted=1097 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:05.457735Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1596 row_id=76840 frame_id=76578
2026-05-27T12:50:07.228497Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1597 row_id=76841 frame_id=76580
2026-05-27T12:50:09.733766Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1598 row_id=76844 frame_id=76582
2026-05-27T12:50:09.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=16 total_pairs=1598 total_evicted=1099 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:15.591438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1598 total_evicted=1102 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:15.592552Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1599 row_id=76845 frame_id=76584
2026-05-27T12:50:16.577941Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1600 row_id=76846 frame_id=76587
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:50:17.212044Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:50:24.730143Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=12 total_pairs=1600 total_evicted=1105 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:24.730523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1601 row_id=76849 frame_id=76589
2026-05-27T12:50:26.164576Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1602 row_id=76850 frame_id=76591
2026-05-27T12:50:40.748062Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=12 total_pairs=1602 total_evicted=1106 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:40.748260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76594 paired=1 still_pending=0
2026-05-27T12:50:47.012001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76596 paired=1 still_pending=0
2026-05-27T12:50:47.874397Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0
2026-05-27T12:50:48.229660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1683339962077118729, trigger=typing_pause)
2026-05-27T12:50:49.214882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0
2026-05-27T12:50:53.977750Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76598 paired=1 still_pending=0
2026-05-27T12:50:56.309074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76600 paired=1 still_pending=0
2026-05-27T12:50:58.173529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0
2026-05-27T12:50:58.429000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)
2026-05-27T12:50:58.532571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)
2026-05-27T12:50:59.091726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0
2026-05-27T12:50:59.349678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)
2026-05-27T12:50:59.556623Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)
2026-05-27T12:51:02.132123Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=12 total_pairs=1610 total_evicted=1110 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:02.132318Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0
2026-05-27T12:51:03.404947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-418369950010791277, trigger=visual_change)
2026-05-27T12:51:04.361502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1612 row_id=76864 frame_id=76604
2026-05-27T12:51:04.363726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1613 row_id=76865 frame_id=76604
2026-05-27T12:51:05.244764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1614 row_id=76866 frame_id=76606
2026-05-27T12:51:05.246838Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=13 total_pairs=1614 total_evicted=1111 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:05.878140Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1615 row_id=76867 frame_id=76608
2026-05-27T12:51:11.887275Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1615 total_evicted=1114 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:11.887419Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1616 row_id=76868 frame_id=76610
2026-05-27T12:51:12.445237Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76612 paired=1 still_pending=0
2026-05-27T12:51:25.947864Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=10 total_pairs=1617 total_evicted=1117 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:25.948133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76613 paired=1 still_pending=0
2026-05-27T12:51:37.613579Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1618 total_evicted=1118 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:37.614036Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76614 paired=1 still_pending=0
2026-05-27T12:51:37.975923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:51:43.896370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:44.252255Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:51:48.602891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:48.966039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:49.157103Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:50.031906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:50.301751Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:51.071619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:52.082663Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:54.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1624 total_evicted=1119 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:58.149853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:59.989746Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=6 total_pairs=1624 total_evicted=1122 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:59.990107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:52:00.272261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:52:09.434291Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=3 total_pairs=1625 total_evicted=1126 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:52:09.434541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76617 paired=1 still_pending=0
2026-05-27T12:52:09.689505Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:52:09.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:52:10.576796Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76618 paired=1 still_pending=0
2026-05-27T12:52:14.464913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76620 paired=1 still_pending=0
2026-05-27T12:52:14.822399Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=6 total_pairs=1628 total_evicted=1127 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:52:17.381610Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1629 row_id=76887 frame_id=76622
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:52:17.756761Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:52:20.687432Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76625 paired=1 still_pending=0
2026-05-27T12:52:23.276833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76628 paired=1 still_pending=0
2026-05-27T12:52:29.445253Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) fram...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
76743
|
2699
|
14
|
2026-05-27T10:02:14.841414+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-27/1779 /Users/lukas/.screenpipe/data/data/2026-05-27/1779876134841_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
M/paused/lagged/capture_error); investigate the re M/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=8 total_pairs=1515 total_evicted=1052 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:09.915452Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76505 paired=1 still_pending=0
2026-05-27T12:46:09.918660Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=7 total_pairs=1516 total_evicted=1053 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:10.727994Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0
2026-05-27T12:46:11.332742Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1518 row_id=76734 frame_id=76508
2026-05-27T12:46:11.393442Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:13.443359Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1519 row_id=76735 frame_id=76507
2026-05-27T12:46:13.803813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:14.929878Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:46:16.187614Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:46:19.819598Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1520 total_evicted=1054 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:23.591470Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76513 paired=1 still_pending=0
2026-05-27T12:46:23.947762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:25.221434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:26.156752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:27.499978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1523 row_id=76745 frame_id=76514
2026-05-27T12:46:27.857736Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:29.801132Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76517 paired=1 still_pending=0
2026-05-27T12:46:29.820656Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1524 total_evicted=1055 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:30.059795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:35.068012Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:35.326448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:41.165011Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1525 total_evicted=1056 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:41.165200Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:41.424152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:41.950824Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:41.952375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:44.668488Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1529 row_id=76751 frame_id=76520
2026-05-27T12:46:44.669252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1530 row_id=76752 frame_id=76521
2026-05-27T12:46:46.019527Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1531 row_id=76753 frame_id=76520
2026-05-27T12:46:48.148247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76520 paired=2 still_pending=0
2026-05-27T12:46:48.731394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0
2026-05-27T12:46:51.877240Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1535 total_evicted=1057 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:51.877715Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0
2026-05-27T12:46:53.648302Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0
2026-05-27T12:46:54.272758Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0
2026-05-27T12:46:57.323392Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1539 total_evicted=1058 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:57.323646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0
2026-05-27T12:47:01.620667Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76525 paired=1 still_pending=0
2026-05-27T12:47:01.937515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:07.232856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:10.284934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:13.336270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:16.364147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:22.688769Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76526 paired=1 still_pending=0
2026-05-27T12:47:22.690438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=0 pending_frames=12 total_pairs=1542 total_evicted=1065 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:23.044974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:25.589300Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:25.672034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=10 total_pairs=1542 total_evicted=1067 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:25.672148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0
2026-05-27T12:47:28.495364Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1544 row_id=76766 frame_id=76529
2026-05-27T12:47:29.821184Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=8 total_pairs=1544 total_evicted=1069 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:30.403252Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:32.855792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0
2026-05-27T12:47:33.110578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:33.208117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:38.343309Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=1545 total_evicted=1070 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:38.343422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0
2026-05-27T12:47:38.703433Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:40.480813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0
2026-05-27T12:47:40.737804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:40.837862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:41.319113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0
2026-05-27T12:47:41.574344Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:41.882404Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:43.743921Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1549 row_id=76772 frame_id=76530
2026-05-27T12:47:44.015965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:44.098460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:45.354191Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=8 total_pairs=1549 total_evicted=1074 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:45.354424Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0
2026-05-27T12:47:45.621734Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:45.714088Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:50.718103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:53.765110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:55.991145Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=8 total_pairs=1550 total_evicted=1075 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:55.991602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0
2026-05-27T12:47:56.350961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:57.041657Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76532 paired=1 still_pending=0
2026-05-27T12:47:57.401889Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:02.927464Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0
2026-05-27T12:48:02.933165Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1553 total_evicted=1076 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:03.186279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-27T12:48:16.361812Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0
ggml_metal_free: deallocating
2026-05-27T12:48:16.620142Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:16.733322Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:16.817801Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:48:24.444303Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1554 total_evicted=1077 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:24.444428Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0
2026-05-27T12:48:24.697885Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:24.800709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:30.629207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0
2026-05-27T12:48:42.149066Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76535 paired=1 still_pending=0
2026-05-27T12:48:42.153305Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=9 total_pairs=1557 total_evicted=1081 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:43.290267Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76537 paired=1 still_pending=0
2026-05-27T12:48:44.821129Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1558 total_evicted=1082 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:46.846673Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76539 paired=1 still_pending=0
2026-05-27T12:48:49.821591Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1559 total_evicted=1083 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:59.864797Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=1559 total_evicted=1085 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:59.865166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76542 paired=1 still_pending=0
2026-05-27T12:49:01.065519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76544 paired=1 still_pending=0
2026-05-27T12:49:01.152640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1562 row_id=76791 frame_id=76544
2026-05-27T12:49:03.328116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76546 paired=1 still_pending=0
2026-05-27T12:49:03.331199Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1564 row_id=76793 frame_id=76546
2026-05-27T12:49:04.821831Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1564 total_evicted=1086 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:06.434589Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1565 row_id=76796 frame_id=76548
2026-05-27T12:49:09.267795Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1566 row_id=76798 frame_id=76550
2026-05-27T12:49:11.938278Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76552 paired=1 still_pending=0
2026-05-27T12:49:13.618263Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1568 row_id=76800 frame_id=76554
2026-05-27T12:49:14.398973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76556 paired=1 still_pending=0
2026-05-27T12:49:15.861875Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1570 row_id=76802 frame_id=76558
2026-05-27T12:49:17.481533Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1571 row_id=76806 frame_id=76560
2026-05-27T12:49:19.466005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1572 row_id=76807 frame_id=76562
2026-05-27T12:49:19.821386Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1572 total_evicted=1087 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:27.048800Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76564 paired=1 still_pending=0
2026-05-27T12:49:27.051285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1573 total_evicted=1088 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:27.936969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76566 paired=2 still_pending=0
2026-05-27T12:49:29.365779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76567 paired=2 still_pending=0
2026-05-27T12:49:30.449322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76568 paired=2 still_pending=0
2026-05-27T12:49:32.150440Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0
2026-05-27T12:49:36.386782Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1581 total_evicted=1089 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:36.386929Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0
2026-05-27T12:49:38.220308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76571 paired=1 still_pending=0
2026-05-27T12:49:38.746143Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76572 paired=1 still_pending=0
2026-05-27T12:49:42.961297Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames
2026-05-27T12:49:44.557950Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1585 total_evicted=1091 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:44.558076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76573 paired=1 still_pending=0
2026-05-27T12:49:45.249599Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76574 paired=1 still_pending=0
2026-05-27T12:49:45.746700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76575 paired=1 still_pending=0
2026-05-27T12:49:46.035898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 8.5MB → 3.5MB (2.4x), 50 JPEGs deleted
2026-05-27T12:49:50.659176Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 70 frames, 12.4MB → 5.1MB (2.4x), 70 JPEGs deleted
2026-05-27T12:49:58.499676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=14 total_pairs=1588 total_evicted=1092 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:58.499902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76576 paired=1 still_pending=0
2026-05-27T12:49:58.542706Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)
2026-05-27T12:49:58.633153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)
2026-05-27T12:49:58.712913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1590 row_id=76829 frame_id=76576
2026-05-27T12:49:58.713518Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1591 row_id=76830 frame_id=76576
2026-05-27T12:49:59.688085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)
2026-05-27T12:50:00.888000Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1591 total_evicted=1093 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:00.888150Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1592 row_id=76831 frame_id=76576
2026-05-27T12:50:00.890259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1593 row_id=76832 frame_id=76577
2026-05-27T12:50:01.565328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)
2026-05-27T12:50:01.993453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)
2026-05-27T12:50:03.172973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1594 row_id=76837 frame_id=76576
2026-05-27T12:50:03.177345Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1595 row_id=76838 frame_id=76576
2026-05-27T12:50:04.821796Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=14 total_pairs=1595 total_evicted=1097 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:05.457735Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1596 row_id=76840 frame_id=76578
2026-05-27T12:50:07.228497Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1597 row_id=76841 frame_id=76580
2026-05-27T12:50:09.733766Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1598 row_id=76844 frame_id=76582
2026-05-27T12:50:09.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=16 total_pairs=1598 total_evicted=1099 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:15.591438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1598 total_evicted=1102 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:15.592552Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1599 row_id=76845 frame_id=76584
2026-05-27T12:50:16.577941Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1600 row_id=76846 frame_id=76587
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:50:17.212044Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:50:24.730143Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=12 total_pairs=1600 total_evicted=1105 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:24.730523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1601 row_id=76849 frame_id=76589
2026-05-27T12:50:26.164576Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1602 row_id=76850 frame_id=76591
2026-05-27T12:50:40.748062Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=12 total_pairs=1602 total_evicted=1106 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:40.748260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76594 paired=1 still_pending=0
2026-05-27T12:50:47.012001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76596 paired=1 still_pending=0
2026-05-27T12:50:47.874397Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0
2026-05-27T12:50:48.229660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1683339962077118729, trigger=typing_pause)
2026-05-27T12:50:49.214882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0
2026-05-27T12:50:53.977750Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76598 paired=1 still_pending=0
2026-05-27T12:50:56.309074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76600 paired=1 still_pending=0
2026-05-27T12:50:58.173529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0
2026-05-27T12:50:58.429000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)
2026-05-27T12:50:58.532571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)
2026-05-27T12:50:59.091726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0
2026-05-27T12:50:59.349678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)
2026-05-27T12:50:59.556623Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)
2026-05-27T12:51:02.132123Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=12 total_pairs=1610 total_evicted=1110 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:02.132318Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0
2026-05-27T12:51:03.404947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-418369950010791277, trigger=visual_change)
2026-05-27T12:51:04.361502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1612 row_id=76864 frame_id=76604
2026-05-27T12:51:04.363726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1613 row_id=76865 frame_id=76604
2026-05-27T12:51:05.244764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1614 row_id=76866 frame_id=76606
2026-05-27T12:51:05.246838Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=13 total_pairs=1614 total_evicted=1111 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:05.878140Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1615 row_id=76867 frame_id=76608
2026-05-27T12:51:11.887275Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1615 total_evicted=1114 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:11.887419Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1616 row_id=76868 frame_id=76610
2026-05-27T12:51:12.445237Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76612 paired=1 still_pending=0
2026-05-27T12:51:25.947864Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=10 total_pairs=1617 total_evicted=1117 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:25.948133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76613 paired=1 still_pending=0
2026-05-27T12:51:37.613579Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1618 total_evicted=1118 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:37.614036Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76614 paired=1 still_pending=0
2026-05-27T12:51:37.975923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:51:43.896370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:44.252255Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:51:48.602891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:48.966039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:49.157103Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:50.031906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:50.301751Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:51.071619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:52.082663Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:54.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1624 total_evicted=1119 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:58.149853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:59.989746Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=6 total_pairs=1624 total_evicted=1122 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:59.990107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:52:00.272261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:52:09.434291Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=3 total_pairs=1625 total_evicted=1126 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:52:09.434541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76617 paired=1 still_pending=0
2026-05-27T12:52:09.689505Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:52:09.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:52:10.576796Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76618 paired=1 still_pending=0
2026-05-27T12:52:14.464913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76620 paired=1 still_pending=0
2026-05-27T12:52:14.822399Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=6 total_pairs=1628 total_evicted=1127 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:52:17.381610Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1629 row_id=76887 frame_id=76622
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:52:17.756761Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:52:20.687432Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76625 paired=1 still_pending=0
2026-05-27T12:52:23.276833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76628 paired=1 still_pending=0
2026-05-27T12:52:29.445253Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76631 paired=1 still_pending=0
2026-05-27T12:52:35.573618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76636 paired=1 still_pending=0
2026-05-27T12:52:35.832677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:52:36.132401Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:52:36.265576Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1634 row_id=76897 frame_id=76636
2026-05-27T12:52:37.234726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-2...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"M/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=8 total_pairs=1515 total_evicted=1052 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:09.915452Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76505 paired=1 still_pending=0\n2026-05-27T12:46:09.918660Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=7 total_pairs=1516 total_evicted=1053 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:10.727994Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0\n2026-05-27T12:46:11.332742Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1518 row_id=76734 frame_id=76508\n2026-05-27T12:46:11.393442Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:13.443359Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1519 row_id=76735 frame_id=76507\n2026-05-27T12:46:13.803813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:14.929878Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:46:16.187614Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:46:19.819598Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1520 total_evicted=1054 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:23.591470Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76513 paired=1 still_pending=0\n2026-05-27T12:46:23.947762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:25.221434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:26.156752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:27.499978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1523 row_id=76745 frame_id=76514\n2026-05-27T12:46:27.857736Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:29.801132Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76517 paired=1 still_pending=0\n2026-05-27T12:46:29.820656Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1524 total_evicted=1055 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:30.059795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:35.068012Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:35.326448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:41.165011Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1525 total_evicted=1056 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:41.165200Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:41.424152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:41.950824Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:41.952375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:44.668488Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1529 row_id=76751 frame_id=76520\n2026-05-27T12:46:44.669252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1530 row_id=76752 frame_id=76521\n2026-05-27T12:46:46.019527Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1531 row_id=76753 frame_id=76520\n2026-05-27T12:46:48.148247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76520 paired=2 still_pending=0\n2026-05-27T12:46:48.731394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0\n2026-05-27T12:46:51.877240Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1535 total_evicted=1057 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:51.877715Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0\n2026-05-27T12:46:53.648302Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0\n2026-05-27T12:46:54.272758Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0\n2026-05-27T12:46:57.323392Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1539 total_evicted=1058 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:57.323646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0\n2026-05-27T12:47:01.620667Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76525 paired=1 still_pending=0\n2026-05-27T12:47:01.937515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:07.232856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:10.284934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:13.336270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:16.364147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:22.688769Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76526 paired=1 still_pending=0\n2026-05-27T12:47:22.690438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=0 pending_frames=12 total_pairs=1542 total_evicted=1065 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:23.044974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:25.589300Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:25.672034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=10 total_pairs=1542 total_evicted=1067 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:25.672148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0\n2026-05-27T12:47:28.495364Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1544 row_id=76766 frame_id=76529\n2026-05-27T12:47:29.821184Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=8 total_pairs=1544 total_evicted=1069 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:30.403252Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:32.855792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0\n2026-05-27T12:47:33.110578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:33.208117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:38.343309Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=1545 total_evicted=1070 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:38.343422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0\n2026-05-27T12:47:38.703433Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:40.480813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0\n2026-05-27T12:47:40.737804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:40.837862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:41.319113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0\n2026-05-27T12:47:41.574344Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:41.882404Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:43.743921Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1549 row_id=76772 frame_id=76530\n2026-05-27T12:47:44.015965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:44.098460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:45.354191Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=8 total_pairs=1549 total_evicted=1074 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:45.354424Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0\n2026-05-27T12:47:45.621734Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:45.714088Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:50.718103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:53.765110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:55.991145Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=8 total_pairs=1550 total_evicted=1075 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:55.991602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0\n2026-05-27T12:47:56.350961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:57.041657Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76532 paired=1 still_pending=0\n2026-05-27T12:47:57.401889Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:02.927464Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0\n2026-05-27T12:48:02.933165Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1553 total_evicted=1076 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:03.186279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-27T12:48:16.361812Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0\nggml_metal_free: deallocating\n2026-05-27T12:48:16.620142Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:16.733322Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:16.817801Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:48:24.444303Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1554 total_evicted=1077 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:24.444428Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0\n2026-05-27T12:48:24.697885Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:24.800709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:30.629207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0\n2026-05-27T12:48:42.149066Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76535 paired=1 still_pending=0\n2026-05-27T12:48:42.153305Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=9 total_pairs=1557 total_evicted=1081 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:43.290267Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76537 paired=1 still_pending=0\n2026-05-27T12:48:44.821129Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1558 total_evicted=1082 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:46.846673Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76539 paired=1 still_pending=0\n2026-05-27T12:48:49.821591Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1559 total_evicted=1083 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:59.864797Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=1559 total_evicted=1085 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:59.865166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76542 paired=1 still_pending=0\n2026-05-27T12:49:01.065519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76544 paired=1 still_pending=0\n2026-05-27T12:49:01.152640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1562 row_id=76791 frame_id=76544\n2026-05-27T12:49:03.328116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76546 paired=1 still_pending=0\n2026-05-27T12:49:03.331199Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1564 row_id=76793 frame_id=76546\n2026-05-27T12:49:04.821831Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1564 total_evicted=1086 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:06.434589Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1565 row_id=76796 frame_id=76548\n2026-05-27T12:49:09.267795Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1566 row_id=76798 frame_id=76550\n2026-05-27T12:49:11.938278Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76552 paired=1 still_pending=0\n2026-05-27T12:49:13.618263Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1568 row_id=76800 frame_id=76554\n2026-05-27T12:49:14.398973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76556 paired=1 still_pending=0\n2026-05-27T12:49:15.861875Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1570 row_id=76802 frame_id=76558\n2026-05-27T12:49:17.481533Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1571 row_id=76806 frame_id=76560\n2026-05-27T12:49:19.466005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1572 row_id=76807 frame_id=76562\n2026-05-27T12:49:19.821386Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1572 total_evicted=1087 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:27.048800Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76564 paired=1 still_pending=0\n2026-05-27T12:49:27.051285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1573 total_evicted=1088 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:27.936969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76566 paired=2 still_pending=0\n2026-05-27T12:49:29.365779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76567 paired=2 still_pending=0\n2026-05-27T12:49:30.449322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76568 paired=2 still_pending=0\n2026-05-27T12:49:32.150440Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0\n2026-05-27T12:49:36.386782Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1581 total_evicted=1089 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:36.386929Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0\n2026-05-27T12:49:38.220308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76571 paired=1 still_pending=0\n2026-05-27T12:49:38.746143Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76572 paired=1 still_pending=0\n2026-05-27T12:49:42.961297Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames\n2026-05-27T12:49:44.557950Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1585 total_evicted=1091 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:44.558076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76573 paired=1 still_pending=0\n2026-05-27T12:49:45.249599Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76574 paired=1 still_pending=0\n2026-05-27T12:49:45.746700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76575 paired=1 still_pending=0\n2026-05-27T12:49:46.035898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 8.5MB → 3.5MB (2.4x), 50 JPEGs deleted\n2026-05-27T12:49:50.659176Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 70 frames, 12.4MB → 5.1MB (2.4x), 70 JPEGs deleted\n2026-05-27T12:49:58.499676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=14 total_pairs=1588 total_evicted=1092 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:58.499902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76576 paired=1 still_pending=0\n2026-05-27T12:49:58.542706Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:49:58.633153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:49:58.712913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1590 row_id=76829 frame_id=76576\n2026-05-27T12:49:58.713518Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1591 row_id=76830 frame_id=76576\n2026-05-27T12:49:59.688085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:50:00.888000Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1591 total_evicted=1093 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:00.888150Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1592 row_id=76831 frame_id=76576\n2026-05-27T12:50:00.890259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1593 row_id=76832 frame_id=76577\n2026-05-27T12:50:01.565328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:50:01.993453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:50:03.172973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1594 row_id=76837 frame_id=76576\n2026-05-27T12:50:03.177345Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1595 row_id=76838 frame_id=76576\n2026-05-27T12:50:04.821796Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=14 total_pairs=1595 total_evicted=1097 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:05.457735Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1596 row_id=76840 frame_id=76578\n2026-05-27T12:50:07.228497Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1597 row_id=76841 frame_id=76580\n2026-05-27T12:50:09.733766Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1598 row_id=76844 frame_id=76582\n2026-05-27T12:50:09.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=16 total_pairs=1598 total_evicted=1099 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:15.591438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1598 total_evicted=1102 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:15.592552Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1599 row_id=76845 frame_id=76584\n2026-05-27T12:50:16.577941Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1600 row_id=76846 frame_id=76587\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:50:17.212044Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:50:24.730143Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=12 total_pairs=1600 total_evicted=1105 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:24.730523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1601 row_id=76849 frame_id=76589\n2026-05-27T12:50:26.164576Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1602 row_id=76850 frame_id=76591\n2026-05-27T12:50:40.748062Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=12 total_pairs=1602 total_evicted=1106 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:40.748260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76594 paired=1 still_pending=0\n2026-05-27T12:50:47.012001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76596 paired=1 still_pending=0\n2026-05-27T12:50:47.874397Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0\n2026-05-27T12:50:48.229660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1683339962077118729, trigger=typing_pause)\n2026-05-27T12:50:49.214882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0\n2026-05-27T12:50:53.977750Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76598 paired=1 still_pending=0\n2026-05-27T12:50:56.309074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76600 paired=1 still_pending=0\n2026-05-27T12:50:58.173529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0\n2026-05-27T12:50:58.429000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)\n2026-05-27T12:50:58.532571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)\n2026-05-27T12:50:59.091726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0\n2026-05-27T12:50:59.349678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)\n2026-05-27T12:50:59.556623Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)\n2026-05-27T12:51:02.132123Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=12 total_pairs=1610 total_evicted=1110 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:02.132318Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0\n2026-05-27T12:51:03.404947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-418369950010791277, trigger=visual_change)\n2026-05-27T12:51:04.361502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1612 row_id=76864 frame_id=76604\n2026-05-27T12:51:04.363726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1613 row_id=76865 frame_id=76604\n2026-05-27T12:51:05.244764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1614 row_id=76866 frame_id=76606\n2026-05-27T12:51:05.246838Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=13 total_pairs=1614 total_evicted=1111 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:05.878140Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1615 row_id=76867 frame_id=76608\n2026-05-27T12:51:11.887275Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1615 total_evicted=1114 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:11.887419Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1616 row_id=76868 frame_id=76610\n2026-05-27T12:51:12.445237Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76612 paired=1 still_pending=0\n2026-05-27T12:51:25.947864Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=10 total_pairs=1617 total_evicted=1117 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:25.948133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76613 paired=1 still_pending=0\n2026-05-27T12:51:37.613579Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1618 total_evicted=1118 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:37.614036Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76614 paired=1 still_pending=0\n2026-05-27T12:51:37.975923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:51:43.896370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:44.252255Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:51:48.602891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:48.966039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:51:49.157103Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:50.031906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:51:50.301751Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:51.071619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:51:52.082663Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:54.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1624 total_evicted=1119 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:58.149853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:51:59.989746Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=6 total_pairs=1624 total_evicted=1122 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:59.990107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:52:00.272261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:52:09.434291Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=3 total_pairs=1625 total_evicted=1126 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:52:09.434541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76617 paired=1 still_pending=0\n2026-05-27T12:52:09.689505Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:09.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:10.576796Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76618 paired=1 still_pending=0\n2026-05-27T12:52:14.464913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76620 paired=1 still_pending=0\n2026-05-27T12:52:14.822399Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=6 total_pairs=1628 total_evicted=1127 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:52:17.381610Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1629 row_id=76887 frame_id=76622\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:52:17.756761Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:52:20.687432Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76625 paired=1 still_pending=0\n2026-05-27T12:52:23.276833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76628 paired=1 still_pending=0\n2026-05-27T12:52:29.445253Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76631 paired=1 still_pending=0\n2026-05-27T12:52:35.573618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76636 paired=1 still_pending=0\n2026-05-27T12:52:35.832677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:36.132401Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:36.265576Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1634 row_id=76897 frame_id=76636\n2026-05-27T12:52:37.234726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:38.064372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76638 paired=1 still_pending=0\n2026-05-27T12:52:39.823703Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1635 total_evicted=1128 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:52:43.930188Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76639 paired=1 still_pending=0\n2026-05-27T12:52:46.017229Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1637 row_id=76904 frame_id=76641\n2026-05-27T12:52:47.304240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:48.027969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1638 row_id=76905 frame_id=76642\n2026-05-27T12:52:54.083787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76643 paired=1 still_pending=0\n2026-05-27T12:53:01.239348Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=15 total_pairs=1639 total_evicted=1129 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:01.239827Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1640 row_id=76908 frame_id=76646\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T12:53:04.777351Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:05.244178Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:05.505897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:05.661325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1642 row_id=76911 frame_id=76650\n2026-05-27T12:53:05.808767Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:06.844813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:07.035690Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1643 row_id=76912 frame_id=76649\n2026-05-27T12:53:07.288483Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:07.910519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:08.326779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1644 row_id=76913 frame_id=76649\n2026-05-27T12:53:08.579220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:08.991429Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:10.247816Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=19 total_pairs=1644 total_evicted=1130 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:10.248933Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1645 row_id=76914 frame_id=76650\n2026-05-27T12:53:10.501731Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:10.606845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:14.131618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76649 paired=1 still_pending=0\n2026-05-27T12:53:14.385798Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:14.490613Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:14.652826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:14.824885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=20 total_pairs=1647 total_evicted=1132 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:15.520993Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:16.452225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1648 row_id=76917 frame_id=76649\n2026-05-27T12:53:16.706371Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:16.812449Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:23.208871Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=18 total_pairs=1648 total_evicted=1134 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:23.209111Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:23.467637Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:23.567227Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:28.446434Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1649 total_evicted=1135 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:28.446753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:28.700279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:28.813857Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:30.539619Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1650 total_evicted=1136 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:30.539937Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:30.801780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:30.893929Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:38.075979Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=16 total_pairs=1651 total_evicted=1139 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:38.076092Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76649 paired=1 still_pending=0\n2026-05-27T12:53:38.739041Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:38.992883Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:39.514112Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:40.105795Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1654 row_id=76923 frame_id=76652\n2026-05-27T12:53:40.358550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:40.526973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76652 paired=1 still_pending=0\n2026-05-27T12:53:40.566624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:41.611058Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:42.480006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1656 row_id=76925 frame_id=76651\n2026-05-27T12:53:42.736816Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:42.834897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:43.634130Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:43.890029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:43.989975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:45.339208Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:45.341823Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=22 total_pairs=1658 total_evicted=1140 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:45.594921Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:45.696377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:47.530377Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:47.785364Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:47.889305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:48.717425Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:48.972396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:49.075806Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:53.663304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:53.665696Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=22 total_pairs=1661 total_evicted=1142 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:53.919960Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:54.018013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:54.096953Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:54.823746Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=24 total_pairs=1662 total_evicted=1143 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:55.079149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:56.433156Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1663 row_id=76932 frame_id=76651\n2026-05-27T12:53:56.687539Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:56.787636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:54:01.291574Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=23 total_pairs=1663 total_evicted=1144 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:01.292349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:54:01.547357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:01.646452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:03.694676Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76652 paired=1 still_pending=0\n2026-05-27T12:54:03.952196Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:04.053552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:07.640556Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=22 total_pairs=1665 total_evicted=1147 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:07.640661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76652 paired=1 still_pending=0\n2026-05-27T12:54:07.893714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:07.996946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:09.288027Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76652 paired=1 still_pending=0\n2026-05-27T12:54:09.825127Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=23 total_pairs=1667 total_evicted=1148 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:15.668184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1668 row_id=76938 frame_id=76653\n2026-05-27T12:54:15.670142Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=21 total_pairs=1668 total_evicted=1151 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:16.186031Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:54:18.206725Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:54:20.692213Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=20 total_pairs=1668 total_evicted=1152 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:20.692322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76654 paired=1 still_pending=0\n2026-05-27T12:54:20.945531Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:22.991191Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:54:23.912001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76657 paired=1 still_pending=0\n2026-05-27T12:54:24.164999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:24.266612Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:26.059727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:54:29.111103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:54:32.152352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:54:41.576684Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76658 paired=1 still_pending=0\n2026-05-27T12:54:41.578004Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=0 pending_frames=15 total_pairs=1671 total_evicted=1159 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:42.893562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76659 paired=1 still_pending=0\n2026-05-27T12:54:45.361499Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=15 total_pairs=1672 total_evicted=1162 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:45.362048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1673 row_id=76943 frame_id=76660\n2026-05-27T12:54:45.618741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:45.721180Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:49.172741Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76662 paired=1 still_pending=0\n2026-05-27T12:54:49.825099Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=14 total_pairs=1674 total_evicted=1164 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:53.733814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:53.840088Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:54.534550Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=128 elapsed=3.870091791s\n2026-05-27T12:54:54.534693Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 128 eligible frames\n2026-05-27T12:54:57.146949Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 10.3MB → 1.1MB (9.3x), 45 JPEGs deleted\n2026-05-27T12:54:57.808037Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76661 paired=1 still_pending=0\n2026-05-27T12:54:57.809537Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=11 total_pairs=1675 total_evicted=1167 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:58.061022Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:54:58.165735Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:54:58.759330Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76664 paired=1 still_pending=0\n2026-05-27T12:54:59.014754Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:59.217034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:59.662102Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76664 paired=1 still_pending=0\n2026-05-27T12:55:00.227593Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:01.865446Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76665 paired=1 still_pending=0\n2026-05-27T12:55:02.224674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:02.427952Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76664 paired=1 still_pending=0\n2026-05-27T12:55:02.681766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:03.297332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:03.873175Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 81 frames, 17.5MB → 8.4MB (2.1x), 81 JPEGs deleted\n2026-05-27T12:55:04.286873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1680 row_id=76952 frame_id=76664\n2026-05-27T12:55:04.543784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:04.641636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:06.629675Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1680 total_evicted=1169 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:06.629927Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76666 paired=1 still_pending=0\n2026-05-27T12:55:06.987360Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:10.591084Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:12.164204Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=14 total_pairs=1681 total_evicted=1171 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:12.164797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76667 paired=1 still_pending=0\n2026-05-27T12:55:12.423166Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:12.522222Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:13.246413Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76666 paired=1 still_pending=0\n2026-05-27T12:55:13.499608Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:13.604073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:14.015423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:17.061994Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:20.114856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:23.162570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:23.449101Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76668 paired=1 still_pending=0\n2026-05-27T12:55:23.452146Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1684 total_evicted=1173 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:23.812667Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:28.375178Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=14 total_pairs=1684 total_evicted=1174 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:28.375328Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76669 paired=1 still_pending=0\n2026-05-27T12:55:28.633478Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:28.728903Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:29.423389Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:35.382162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76670 paired=1 still_pending=0\n2026-05-27T12:55:35.646523Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:38.694694Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:42.733262Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=15 total_pairs=1686 total_evicted=1175 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:42.733560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76670 paired=1 still_pending=0\n2026-05-27T12:55:42.989336Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:44.797786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:47.170618Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=14 total_pairs=1687 total_evicted=1177 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:47.170851Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76670 paired=1 still_pending=0\n2026-05-27T12:55:49.825580Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1688 total_evicted=1178 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:50.886506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:51.409573Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:56.111203Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1689 row_id=76963 frame_id=76670\n2026-05-27T12:55:56.365310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:57.299001Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:59.000888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76672 paired=1 still_pending=0\n2026-05-27T12:55:59.256379Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:59.358711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:00.463349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:00.464210Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1691 total_evicted=1181 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:00.718056Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:00.818653Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:01.758463Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:02.014459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:02.121005Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:03.690045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76672 paired=1 still_pending=0\n2026-05-27T12:56:03.944746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:04.046481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:08.207792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76672 paired=1 still_pending=0\n2026-05-27T12:56:08.208261Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=12 total_pairs=1694 total_evicted=1185 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:08.460363Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:08.563000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:09.257259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76672 paired=1 still_pending=0\n2026-05-27T12:56:09.512214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:09.614628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:12.027285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:12.283652Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:12.388165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:12.747759Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:13.005390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:13.347191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1698 row_id=76972 frame_id=76673\n2026-05-27T12:56:14.427252Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:15.688073Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1699 row_id=76973 frame_id=76674\n2026-05-27T12:56:15.689284Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1699 total_evicted=1187 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:15.942656Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:16.043914Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:17.081555Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:17.336964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:17.437428Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:56:18.691892Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:56:19.273010Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:19.528995Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:19.629011Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:20.625478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:20.880248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:20.986619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:22.654223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76674 paired=1 still_pending=0\n2026-05-27T12:56:22.909968Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:23.011719Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:23.548341Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:23.803744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:24.006495Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1705 row_id=76979 frame_id=76673\n2026-05-27T12:56:24.107684Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:24.825750Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=22 total_pairs=1705 total_evicted=1188 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:25.199541Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:25.876467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1706 row_id=76980 frame_id=76674\n2026-05-27T12:56:26.133556Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:26.246620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:28.319284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:28.678900Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:29.512325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76675 paired=1 still_pending=0\n2026-05-27T12:56:29.765890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:29.868441Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:31.303921Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=23 total_pairs=1708 total_evicted=1189 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:31.304181Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76675 paired=1 still_pending=0\n2026-05-27T12:56:31.599552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:31.665174Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:57:07.554625Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: soundcore AeroClip (input)\n2026-05-27T12:57:07.554916Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input soundcore AeroClip (input): device soundcore AeroClip (input) not found (will back off)\n2026-05-27T12:57:07.556181Z INFO screenpipe_audio::core::run_record_and_transcribe: stopped recording for MacBook Pro Microphone (input)\n2026-05-27T12:57:07.578407Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: soundcore AeroClip (input)\n2026-05-27T12:57:07.578722Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 1): device soundcore AeroClip (input) not found\n2026-05-27T12:57:09.581148Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 2), starting default: soundcore AeroClip (input)\n2026-05-27T12:57:09.581367Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 2): device soundcore AeroClip (input) not found\n2026-05-27T12:57:11.584406Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 3), starting default: soundcore AeroClip (input)\n2026-05-27T12:57:11.584613Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 3): device soundcore AeroClip (input) not found\n2026-05-27T12:57:13.937049Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 4), starting default: soundcore AeroClip (input)\n2026-05-27T12:57:14.009674Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-27T12:57:14.010711Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=soundcore AeroClip (input)\n2026-05-27T12:57:14.285335Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-27T12:57:16.541527Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=14 pending_events=0 pending_frames=10 total_pairs=1709 total_evicted=1203 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:57:16.541642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76674 paired=1 still_pending=0\n2026-05-27T12:57:16.799399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:16.899957Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:18.274826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76676 paired=1 still_pending=0\n2026-05-27T12:57:18.534644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:18.630757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:21.594196Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=visual_change)\n2026-05-27T12:57:22.826023Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76676 paired=1 still_pending=0\n2026-05-27T12:57:22.829030Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=9 total_pairs=1712 total_evicted=1207 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:57:23.086528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:23.182032Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:24.141919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76676 paired=1 still_pending=0\n2026-05-27T12:57:24.397488Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:24.499275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:25.210614Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=8 total_pairs=1713 total_evicted=1209 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:57:25.210945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76677 paired=1 still_pending=0\n2026-05-27T12:57:25.467455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:25.568062Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:32.594865Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=5 total_pairs=1714 total_evicted=1213 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:57:32.597277Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76676 paired=1 still_pending=0\n2026-05-27T12:57:33.977629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76678 paired=1 still_pending=0\n2026-05-27T12:57:35.476141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76680 paired=1 still_pending=0\n2026-05-27T12:57:35.476737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76680 paired=1 still_pending=0\n2026-05-27T12:57:36.183900Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-27T12:57:36.324651Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-27T12:57:36.478717Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-27T12:57:36.478794Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: MacBook Pro Microphone (input)\n2026-05-27T12:57:36.478830Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-27T12:57:36.895364Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76682 paired=2 still_pending=0\n2026-05-27T12:57:38.543006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76684 paired=1 still_pending=0\n2026-05-27T12:57:43.790453Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-27T12:57:50.881549Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1722 row_id=76996 frame_id=76685\n2026-05-27T12:57:51.260649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:51.827327Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:57:52.293752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:58.714113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:57:59.082416Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:59.646656Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:58:00.114771Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T12:58:07.463734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:58:07.823705Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:58:08.262138Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:58:08.828514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:58:19.107024Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:58:49.465919Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=10 pending_events=0 pending_frames=1 total_pairs=1727 total_evicted=1223 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:58:49.466064Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:58:49.719534Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:58:49.820907Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:01.270140Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=1 total_pairs=1728 total_evicted=1224 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:59:01.270401Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76690 paired=1 still_pending=0\n2026-05-27T12:59:01.628549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:02.350772Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76691 paired=1 still_pending=0\n2026-05-27T12:59:02.711089Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:03.285573Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76689 paired=1 still_pending=0\n2026-05-27T12:59:03.543101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:08.372799Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=visual_change)\n2026-05-27T12:59:09.136458Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76689 paired=1 still_pending=0\n2026-05-27T12:59:09.493536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:10.199967Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76694 paired=1 still_pending=0\n2026-05-27T12:59:10.454306Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:10.565295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:10.840101Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76694 paired=1 still_pending=0\n2026-05-27T12:59:11.107080Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:11.610163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:14.908308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1735 row_id=77009 frame_id=76693\n2026-05-27T12:59:15.177327Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:15.261842Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:16.056292Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76694 paired=1 still_pending=0\n2026-05-27T12:59:16.951065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=visual_change)\n2026-05-27T12:59:18.609211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:18.702022Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76693 paired=1 still_pending=0\n2026-05-27T12:59:19.703607Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:19.918668Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76693 paired=1 still_pending=0\n2026-05-27T12:59:20.481133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:20.568657Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1739 row_id=77014 frame_id=76694\n2026-05-27T12:59:20.795587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:21.841809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:25.988039Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1740 row_id=77015 frame_id=76693\n2026-05-27T12:59:29.053793Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76695 paired=1 still_pending=0\n2026-05-27T12:59:29.410000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:58.023283Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1741 total_evicted=1225 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:59:58.023405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76696 paired=1 still_pending=0\n2026-05-27T12:59:58.292222Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:59.472622Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76696 paired=1 still_pending=0\n2026-05-27T13:00:04.822868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1744 row_id=77024 frame_id=76701\n2026-05-27T13:00:04.827345Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=11 total_pairs=1744 total_evicted=1228 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:00:05.859149Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=101 elapsed=1.980194208s\n2026-05-27T13:00:05.859559Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 101 eligible frames\n2026-05-27T13:00:09.002448Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 53 frames, 8.5MB → 1.2MB (6.8x), 53 JPEGs deleted\n2026-05-27T13:00:12.304060Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 8.7MB → 3.5MB (2.5x), 46 JPEGs deleted\n2026-05-27T13:00:13.315219Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=8 total_pairs=1744 total_evicted=1231 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:00:13.315542Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76703 paired=1 still_pending=0\n2026-05-27T13:00:18.138745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5656284316783846169, trigger=visual_change)\n2026-05-27T13:00:18.743658Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76708 paired=1 still_pending=0\n2026-05-27T13:00:18.970194Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5656284316783846169, trigger=click)\n2026-05-27T13:00:19.064919Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5656284316783846169, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T13:00:19.550865Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T13:00:34.627948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=5 total_pairs=1746 total_evicted=1236 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:00:34.629708Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76709 paired=1 still_pending=0\n2026-05-27T13:00:37.896855Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76713 paired=1 still_pending=0\n2026-05-27T13:00:44.659582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T13:00:45.458546Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76718 paired=1 still_pending=0\n2026-05-27T13:00:45.462157Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76718 paired=1 still_pending=0\n2026-05-27T13:00:45.592000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2009570175445071742, trigger=click)\n2026-05-27T13:00:46.647273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76721 paired=1 still_pending=0\n2026-05-27T13:00:46.650096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76721 paired=1 still_pending=0\n2026-05-27T13:00:46.681874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2009570175445071742, trigger=typing_pause)\n2026-05-27T13:00:48.189864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1753 row_id=77040 frame_id=76720\n2026-05-27T13:00:48.317531Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:48.977644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1754 row_id=77045 frame_id=76723\n2026-05-27T13:00:48.979682Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1755 row_id=77046 frame_id=76723\n2026-05-27T13:00:49.001338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:49.433408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:49.594267Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1756 row_id=77047 frame_id=76723\n2026-05-27T13:00:49.596780Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1757 row_id=77048 frame_id=76723\n2026-05-27T13:00:49.620225Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:50.456681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1758 row_id=77049 frame_id=76722\n2026-05-27T13:00:50.457642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1759 row_id=77050 frame_id=76723\n2026-05-27T13:00:50.531762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:53.664757Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76724 paired=2 still_pending=0\n2026-05-27T13:00:55.402419Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76725 paired=1 still_pending=0\n2026-05-27T13:00:57.778421Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76726 paired=1 still_pending=0\n2026-05-27T13:01:01.961103Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=12 total_pairs=1763 total_evicted=1238 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:01.961343Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76727 paired=1 still_pending=0\n2026-05-27T13:01:02.320337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=typing_pause)\n2026-05-27T13:01:04.027873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76728 paired=1 still_pending=0\n2026-05-27T13:01:04.386554Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=typing_pause)\n2026-05-27T13:01:05.622333Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=12 total_pairs=1765 total_evicted=1239 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:05.622712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76728 paired=1 still_pending=0\n2026-05-27T13:01:10.164349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76730 paired=1 still_pending=0\n2026-05-27T13:01:10.169992Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1768 row_id=77061 frame_id=76730\n2026-05-27T13:01:12.024863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1769 row_id=77062 frame_id=76732\n2026-05-27T13:01:12.462829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76734 paired=2 still_pending=0\n2026-05-27T13:01:14.126015Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76735 paired=2 still_pending=0\n2026-05-27T13:01:15.382300Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=13 total_pairs=1773 total_evicted=1240 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:15.382640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76736 paired=2 still_pending=0\n2026-05-27T13:01:15.386720Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1776 row_id=77069 frame_id=76736\n2026-05-27T13:01:15.387132Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1777 row_id=77070 frame_id=76736\n2026-05-27T13:01:18.895485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76737 paired=4 still_pending=0\n2026-05-27T13:01:19.828153Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=12 total_pairs=1781 total_evicted=1241 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:19.896718Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=visual_change)\n2026-05-27T13:01:34.828385Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1781 total_evicted=1242 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:39.828629Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1781 total_evicted=1243 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:49.827854Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=6 pending_events=0 pending_frames=5 total_pairs=1781 total_evicted=1249 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:54.828618Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=1781 total_evicted=1250 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:56.374350Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=visual_change)\n2026-05-27T13:01:59.071880Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:01:59.169040Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:01:59.829688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1782 row_id=77387 frame_id=76739\n2026-05-27T13:01:59.851908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:00.267666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:02.685662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=visual_change)\n2026-05-27T13:02:04.329864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1783 row_id=77388 frame_id=76739\n2026-05-27T13:02:04.354862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:04.449813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:05.091713Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1784 row_id=77389 frame_id=76739\n2026-05-27T13:02:05.092959Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=1784 total_evicted=1251 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:02:05.126906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:07.308455Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1785 row_id=77390 frame_id=76739\n2026-05-27T13:02:07.347515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8364978901328042122, trigger=click)\n2026-05-27T13:02:08.822599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8364978901328042122, trigger=visual_change)\n2026-05-27T13:02:11.473676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=1785 total_evicted=1252 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:02:11.473945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1786 row_id=77393 frame_id=76740\n2026-05-27T13:02:11.476459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1787 row_id=77394 frame_id=76740\n2026-05-27T13:02:11.500659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8364978901328042122, trigger=click)\n2026-05-27T13:02:11.608706Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8364978901328042122, trigger=click)\n2026-05-27T13:02:13.586173Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1788 row_id=77395 frame_id=76741\n2026-05-27T13:02:13.590392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1789 row_id=77396 frame_id=76741\n2026-05-27T13:02:13.623038Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8364978901328042122, trigger=click)\n2026-05-27T13:02:14.725690Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1790 row_id=77397 frame_id=76740\n2026-05-27T13:02:14.727813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1791 row_id=77398 frame_id=76740\n2026-05-27T13:02:14.763962Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7938192818966590091, trigger=click)\n2026-05-27T13:02:14.828540Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1791 total_evicted=1253 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20","depth":4,"on_screen":true,"value":"M/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=8 total_pairs=1515 total_evicted=1052 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:09.915452Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76505 paired=1 still_pending=0\n2026-05-27T12:46:09.918660Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=7 total_pairs=1516 total_evicted=1053 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:10.727994Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0\n2026-05-27T12:46:11.332742Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1518 row_id=76734 frame_id=76508\n2026-05-27T12:46:11.393442Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:13.443359Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1519 row_id=76735 frame_id=76507\n2026-05-27T12:46:13.803813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:14.929878Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:46:16.187614Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:46:19.819598Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1520 total_evicted=1054 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:23.591470Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76513 paired=1 still_pending=0\n2026-05-27T12:46:23.947762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:25.221434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:26.156752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:27.499978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1523 row_id=76745 frame_id=76514\n2026-05-27T12:46:27.857736Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:29.801132Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76517 paired=1 still_pending=0\n2026-05-27T12:46:29.820656Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1524 total_evicted=1055 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:30.059795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:35.068012Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:35.326448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:41.165011Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1525 total_evicted=1056 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:41.165200Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:41.424152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:46:41.950824Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:41.952375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0\n2026-05-27T12:46:44.668488Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1529 row_id=76751 frame_id=76520\n2026-05-27T12:46:44.669252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1530 row_id=76752 frame_id=76521\n2026-05-27T12:46:46.019527Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1531 row_id=76753 frame_id=76520\n2026-05-27T12:46:48.148247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76520 paired=2 still_pending=0\n2026-05-27T12:46:48.731394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0\n2026-05-27T12:46:51.877240Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1535 total_evicted=1057 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:51.877715Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0\n2026-05-27T12:46:53.648302Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0\n2026-05-27T12:46:54.272758Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0\n2026-05-27T12:46:57.323392Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1539 total_evicted=1058 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:46:57.323646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0\n2026-05-27T12:47:01.620667Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76525 paired=1 still_pending=0\n2026-05-27T12:47:01.937515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:07.232856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:10.284934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:13.336270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:16.364147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:22.688769Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76526 paired=1 still_pending=0\n2026-05-27T12:47:22.690438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=0 pending_frames=12 total_pairs=1542 total_evicted=1065 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:23.044974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:25.589300Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:25.672034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=10 total_pairs=1542 total_evicted=1067 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:25.672148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0\n2026-05-27T12:47:28.495364Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1544 row_id=76766 frame_id=76529\n2026-05-27T12:47:29.821184Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=8 total_pairs=1544 total_evicted=1069 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:30.403252Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:32.855792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0\n2026-05-27T12:47:33.110578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:33.208117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:38.343309Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=1545 total_evicted=1070 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:38.343422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0\n2026-05-27T12:47:38.703433Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:40.480813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0\n2026-05-27T12:47:40.737804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:40.837862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:41.319113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0\n2026-05-27T12:47:41.574344Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:41.882404Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:43.743921Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1549 row_id=76772 frame_id=76530\n2026-05-27T12:47:44.015965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:44.098460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:45.354191Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=8 total_pairs=1549 total_evicted=1074 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:45.354424Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0\n2026-05-27T12:47:45.621734Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:45.714088Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:47:50.718103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:53.765110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:47:55.991145Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=8 total_pairs=1550 total_evicted=1075 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:47:55.991602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0\n2026-05-27T12:47:56.350961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:47:57.041657Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76532 paired=1 still_pending=0\n2026-05-27T12:47:57.401889Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:02.927464Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0\n2026-05-27T12:48:02.933165Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1553 total_evicted=1076 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:03.186279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\n2026-05-27T12:48:16.361812Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0\nggml_metal_free: deallocating\n2026-05-27T12:48:16.620142Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:16.733322Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:16.817801Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:48:24.444303Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1554 total_evicted=1077 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:24.444428Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0\n2026-05-27T12:48:24.697885Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:24.800709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:48:30.629207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0\n2026-05-27T12:48:42.149066Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76535 paired=1 still_pending=0\n2026-05-27T12:48:42.153305Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=9 total_pairs=1557 total_evicted=1081 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:43.290267Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76537 paired=1 still_pending=0\n2026-05-27T12:48:44.821129Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1558 total_evicted=1082 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:46.846673Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76539 paired=1 still_pending=0\n2026-05-27T12:48:49.821591Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1559 total_evicted=1083 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:59.864797Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=1559 total_evicted=1085 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:48:59.865166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76542 paired=1 still_pending=0\n2026-05-27T12:49:01.065519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76544 paired=1 still_pending=0\n2026-05-27T12:49:01.152640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1562 row_id=76791 frame_id=76544\n2026-05-27T12:49:03.328116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76546 paired=1 still_pending=0\n2026-05-27T12:49:03.331199Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1564 row_id=76793 frame_id=76546\n2026-05-27T12:49:04.821831Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1564 total_evicted=1086 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:06.434589Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1565 row_id=76796 frame_id=76548\n2026-05-27T12:49:09.267795Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1566 row_id=76798 frame_id=76550\n2026-05-27T12:49:11.938278Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76552 paired=1 still_pending=0\n2026-05-27T12:49:13.618263Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1568 row_id=76800 frame_id=76554\n2026-05-27T12:49:14.398973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76556 paired=1 still_pending=0\n2026-05-27T12:49:15.861875Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1570 row_id=76802 frame_id=76558\n2026-05-27T12:49:17.481533Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1571 row_id=76806 frame_id=76560\n2026-05-27T12:49:19.466005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1572 row_id=76807 frame_id=76562\n2026-05-27T12:49:19.821386Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1572 total_evicted=1087 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:27.048800Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76564 paired=1 still_pending=0\n2026-05-27T12:49:27.051285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1573 total_evicted=1088 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:27.936969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76566 paired=2 still_pending=0\n2026-05-27T12:49:29.365779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76567 paired=2 still_pending=0\n2026-05-27T12:49:30.449322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76568 paired=2 still_pending=0\n2026-05-27T12:49:32.150440Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0\n2026-05-27T12:49:36.386782Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1581 total_evicted=1089 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:36.386929Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0\n2026-05-27T12:49:38.220308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76571 paired=1 still_pending=0\n2026-05-27T12:49:38.746143Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76572 paired=1 still_pending=0\n2026-05-27T12:49:42.961297Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames\n2026-05-27T12:49:44.557950Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1585 total_evicted=1091 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:44.558076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76573 paired=1 still_pending=0\n2026-05-27T12:49:45.249599Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76574 paired=1 still_pending=0\n2026-05-27T12:49:45.746700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76575 paired=1 still_pending=0\n2026-05-27T12:49:46.035898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 8.5MB → 3.5MB (2.4x), 50 JPEGs deleted\n2026-05-27T12:49:50.659176Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 70 frames, 12.4MB → 5.1MB (2.4x), 70 JPEGs deleted\n2026-05-27T12:49:58.499676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=14 total_pairs=1588 total_evicted=1092 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:49:58.499902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76576 paired=1 still_pending=0\n2026-05-27T12:49:58.542706Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:49:58.633153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:49:58.712913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1590 row_id=76829 frame_id=76576\n2026-05-27T12:49:58.713518Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1591 row_id=76830 frame_id=76576\n2026-05-27T12:49:59.688085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:50:00.888000Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1591 total_evicted=1093 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:00.888150Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1592 row_id=76831 frame_id=76576\n2026-05-27T12:50:00.890259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1593 row_id=76832 frame_id=76577\n2026-05-27T12:50:01.565328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:50:01.993453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)\n2026-05-27T12:50:03.172973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1594 row_id=76837 frame_id=76576\n2026-05-27T12:50:03.177345Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1595 row_id=76838 frame_id=76576\n2026-05-27T12:50:04.821796Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=14 total_pairs=1595 total_evicted=1097 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:05.457735Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1596 row_id=76840 frame_id=76578\n2026-05-27T12:50:07.228497Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1597 row_id=76841 frame_id=76580\n2026-05-27T12:50:09.733766Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1598 row_id=76844 frame_id=76582\n2026-05-27T12:50:09.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=16 total_pairs=1598 total_evicted=1099 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:15.591438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1598 total_evicted=1102 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:15.592552Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1599 row_id=76845 frame_id=76584\n2026-05-27T12:50:16.577941Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1600 row_id=76846 frame_id=76587\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:50:17.212044Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:50:24.730143Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=12 total_pairs=1600 total_evicted=1105 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:24.730523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1601 row_id=76849 frame_id=76589\n2026-05-27T12:50:26.164576Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1602 row_id=76850 frame_id=76591\n2026-05-27T12:50:40.748062Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=12 total_pairs=1602 total_evicted=1106 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:50:40.748260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76594 paired=1 still_pending=0\n2026-05-27T12:50:47.012001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76596 paired=1 still_pending=0\n2026-05-27T12:50:47.874397Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0\n2026-05-27T12:50:48.229660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1683339962077118729, trigger=typing_pause)\n2026-05-27T12:50:49.214882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0\n2026-05-27T12:50:53.977750Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76598 paired=1 still_pending=0\n2026-05-27T12:50:56.309074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76600 paired=1 still_pending=0\n2026-05-27T12:50:58.173529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0\n2026-05-27T12:50:58.429000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)\n2026-05-27T12:50:58.532571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)\n2026-05-27T12:50:59.091726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0\n2026-05-27T12:50:59.349678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)\n2026-05-27T12:50:59.556623Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)\n2026-05-27T12:51:02.132123Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=12 total_pairs=1610 total_evicted=1110 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:02.132318Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0\n2026-05-27T12:51:03.404947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-418369950010791277, trigger=visual_change)\n2026-05-27T12:51:04.361502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1612 row_id=76864 frame_id=76604\n2026-05-27T12:51:04.363726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1613 row_id=76865 frame_id=76604\n2026-05-27T12:51:05.244764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1614 row_id=76866 frame_id=76606\n2026-05-27T12:51:05.246838Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=13 total_pairs=1614 total_evicted=1111 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:05.878140Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1615 row_id=76867 frame_id=76608\n2026-05-27T12:51:11.887275Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1615 total_evicted=1114 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:11.887419Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1616 row_id=76868 frame_id=76610\n2026-05-27T12:51:12.445237Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76612 paired=1 still_pending=0\n2026-05-27T12:51:25.947864Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=10 total_pairs=1617 total_evicted=1117 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:25.948133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76613 paired=1 still_pending=0\n2026-05-27T12:51:37.613579Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1618 total_evicted=1118 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:37.614036Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76614 paired=1 still_pending=0\n2026-05-27T12:51:37.975923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:51:43.896370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:44.252255Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:51:48.602891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:48.966039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:51:49.157103Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:50.031906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:51:50.301751Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:51.071619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:51:52.082663Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:51:54.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1624 total_evicted=1119 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:58.149853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:51:59.989746Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=6 total_pairs=1624 total_evicted=1122 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:51:59.990107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0\n2026-05-27T12:52:00.272261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:52:09.434291Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=3 total_pairs=1625 total_evicted=1126 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:52:09.434541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76617 paired=1 still_pending=0\n2026-05-27T12:52:09.689505Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:09.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:10.576796Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76618 paired=1 still_pending=0\n2026-05-27T12:52:14.464913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76620 paired=1 still_pending=0\n2026-05-27T12:52:14.822399Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=6 total_pairs=1628 total_evicted=1127 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:52:17.381610Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1629 row_id=76887 frame_id=76622\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:52:17.756761Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:52:20.687432Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76625 paired=1 still_pending=0\n2026-05-27T12:52:23.276833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76628 paired=1 still_pending=0\n2026-05-27T12:52:29.445253Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76631 paired=1 still_pending=0\n2026-05-27T12:52:35.573618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76636 paired=1 still_pending=0\n2026-05-27T12:52:35.832677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:36.132401Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:36.265576Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1634 row_id=76897 frame_id=76636\n2026-05-27T12:52:37.234726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:38.064372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76638 paired=1 still_pending=0\n2026-05-27T12:52:39.823703Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1635 total_evicted=1128 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:52:43.930188Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76639 paired=1 still_pending=0\n2026-05-27T12:52:46.017229Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1637 row_id=76904 frame_id=76641\n2026-05-27T12:52:47.304240Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:52:48.027969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1638 row_id=76905 frame_id=76642\n2026-05-27T12:52:54.083787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76643 paired=1 still_pending=0\n2026-05-27T12:53:01.239348Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=15 total_pairs=1639 total_evicted=1129 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:01.239827Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1640 row_id=76908 frame_id=76646\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T12:53:04.777351Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:05.244178Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:05.505897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:05.661325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1642 row_id=76911 frame_id=76650\n2026-05-27T12:53:05.808767Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:06.844813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:07.035690Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1643 row_id=76912 frame_id=76649\n2026-05-27T12:53:07.288483Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:07.910519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:08.326779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1644 row_id=76913 frame_id=76649\n2026-05-27T12:53:08.579220Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:08.991429Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:10.247816Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=19 total_pairs=1644 total_evicted=1130 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:10.248933Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1645 row_id=76914 frame_id=76650\n2026-05-27T12:53:10.501731Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:10.606845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:14.131618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76649 paired=1 still_pending=0\n2026-05-27T12:53:14.385798Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:14.490613Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:14.652826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:14.824885Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=20 total_pairs=1647 total_evicted=1132 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:15.520993Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:16.452225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1648 row_id=76917 frame_id=76649\n2026-05-27T12:53:16.706371Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:16.812449Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:23.208871Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=18 total_pairs=1648 total_evicted=1134 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:23.209111Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:23.467637Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:23.567227Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:28.446434Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1649 total_evicted=1135 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:28.446753Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:28.700279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:28.813857Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:30.539619Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1650 total_evicted=1136 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:30.539937Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76650 paired=1 still_pending=0\n2026-05-27T12:53:30.801780Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:30.893929Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:38.075979Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=16 total_pairs=1651 total_evicted=1139 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:38.076092Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76649 paired=1 still_pending=0\n2026-05-27T12:53:38.739041Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:38.992883Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:39.514112Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:40.105795Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1654 row_id=76923 frame_id=76652\n2026-05-27T12:53:40.358550Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:40.526973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76652 paired=1 still_pending=0\n2026-05-27T12:53:40.566624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:41.611058Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:42.480006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1656 row_id=76925 frame_id=76651\n2026-05-27T12:53:42.736816Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:42.834897Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:43.634130Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:43.890029Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:43.989975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:45.339208Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:45.341823Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=22 total_pairs=1658 total_evicted=1140 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:45.594921Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:45.696377Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:47.530377Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:47.785364Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:47.889305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:48.717425Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:48.972396Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:49.075806Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:53.663304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:53.665696Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=22 total_pairs=1661 total_evicted=1142 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:53.919960Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:54.018013Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:54.096953Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:53:54.823746Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=24 total_pairs=1662 total_evicted=1143 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:53:55.079149Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:56.433156Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1663 row_id=76932 frame_id=76651\n2026-05-27T12:53:56.687539Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:53:56.787636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:54:01.291574Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=23 total_pairs=1663 total_evicted=1144 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:01.292349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76651 paired=1 still_pending=0\n2026-05-27T12:54:01.547357Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:01.646452Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:03.694676Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76652 paired=1 still_pending=0\n2026-05-27T12:54:03.952196Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:04.053552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:07.640556Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=22 total_pairs=1665 total_evicted=1147 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:07.640661Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76652 paired=1 still_pending=0\n2026-05-27T12:54:07.893714Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:07.996946Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:09.288027Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76652 paired=1 still_pending=0\n2026-05-27T12:54:09.825127Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=23 total_pairs=1667 total_evicted=1148 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:15.668184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1668 row_id=76938 frame_id=76653\n2026-05-27T12:54:15.670142Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=21 total_pairs=1668 total_evicted=1151 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:16.186031Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:54:18.206725Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:54:20.692213Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=20 total_pairs=1668 total_evicted=1152 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:20.692322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76654 paired=1 still_pending=0\n2026-05-27T12:54:20.945531Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:22.991191Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:54:23.912001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76657 paired=1 still_pending=0\n2026-05-27T12:54:24.164999Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:24.266612Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:26.059727Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:54:29.111103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:54:32.152352Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:54:41.576684Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76658 paired=1 still_pending=0\n2026-05-27T12:54:41.578004Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=0 pending_frames=15 total_pairs=1671 total_evicted=1159 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:42.893562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76659 paired=1 still_pending=0\n2026-05-27T12:54:45.361499Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=15 total_pairs=1672 total_evicted=1162 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:45.362048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1673 row_id=76943 frame_id=76660\n2026-05-27T12:54:45.618741Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:45.721180Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:49.172741Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76662 paired=1 still_pending=0\n2026-05-27T12:54:49.825099Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=14 total_pairs=1674 total_evicted=1164 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:53.733814Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:53.840088Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:54.534550Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=128 elapsed=3.870091791s\n2026-05-27T12:54:54.534693Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 128 eligible frames\n2026-05-27T12:54:57.146949Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 45 frames, 10.3MB → 1.1MB (9.3x), 45 JPEGs deleted\n2026-05-27T12:54:57.808037Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76661 paired=1 still_pending=0\n2026-05-27T12:54:57.809537Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=11 total_pairs=1675 total_evicted=1167 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:54:58.061022Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:54:58.165735Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:54:58.759330Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76664 paired=1 still_pending=0\n2026-05-27T12:54:59.014754Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:59.217034Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:54:59.662102Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76664 paired=1 still_pending=0\n2026-05-27T12:55:00.227593Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:01.865446Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76665 paired=1 still_pending=0\n2026-05-27T12:55:02.224674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:02.427952Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76664 paired=1 still_pending=0\n2026-05-27T12:55:02.681766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:03.297332Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:03.873175Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 81 frames, 17.5MB → 8.4MB (2.1x), 81 JPEGs deleted\n2026-05-27T12:55:04.286873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1680 row_id=76952 frame_id=76664\n2026-05-27T12:55:04.543784Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:04.641636Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:06.629675Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1680 total_evicted=1169 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:06.629927Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76666 paired=1 still_pending=0\n2026-05-27T12:55:06.987360Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:10.591084Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:12.164204Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=14 total_pairs=1681 total_evicted=1171 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:12.164797Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76667 paired=1 still_pending=0\n2026-05-27T12:55:12.423166Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:12.522222Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:13.246413Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76666 paired=1 still_pending=0\n2026-05-27T12:55:13.499608Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:13.604073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:14.015423Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:17.061994Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:20.114856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:23.162570Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:23.449101Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76668 paired=1 still_pending=0\n2026-05-27T12:55:23.452146Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1684 total_evicted=1173 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:23.812667Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:28.375178Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=14 total_pairs=1684 total_evicted=1174 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:28.375328Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76669 paired=1 still_pending=0\n2026-05-27T12:55:28.633478Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:28.728903Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:29.423389Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:35.382162Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76670 paired=1 still_pending=0\n2026-05-27T12:55:35.646523Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:38.694694Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:42.733262Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=15 total_pairs=1686 total_evicted=1175 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:42.733560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76670 paired=1 still_pending=0\n2026-05-27T12:55:42.989336Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:44.797786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:47.170618Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=14 total_pairs=1687 total_evicted=1177 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:47.170851Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76670 paired=1 still_pending=0\n2026-05-27T12:55:49.825580Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1688 total_evicted=1178 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:55:50.886506Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:51.409573Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:56.111203Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1689 row_id=76963 frame_id=76670\n2026-05-27T12:55:56.365310Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)\n2026-05-27T12:55:57.299001Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)\n2026-05-27T12:55:59.000888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76672 paired=1 still_pending=0\n2026-05-27T12:55:59.256379Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:55:59.358711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:00.463349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:00.464210Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1691 total_evicted=1181 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:00.718056Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:00.818653Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:01.758463Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:02.014459Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:02.121005Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:03.690045Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76672 paired=1 still_pending=0\n2026-05-27T12:56:03.944746Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:04.046481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:08.207792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76672 paired=1 still_pending=0\n2026-05-27T12:56:08.208261Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=12 total_pairs=1694 total_evicted=1185 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:08.460363Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:08.563000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:09.257259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76672 paired=1 still_pending=0\n2026-05-27T12:56:09.512214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:09.614628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:12.027285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:12.283652Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:12.388165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:12.747759Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:13.005390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:13.347191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1698 row_id=76972 frame_id=76673\n2026-05-27T12:56:14.427252Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:15.688073Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1699 row_id=76973 frame_id=76674\n2026-05-27T12:56:15.689284Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1699 total_evicted=1187 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:15.942656Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:16.043914Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:17.081555Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:17.336964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:17.437428Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:56:18.691892Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:56:19.273010Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:19.528995Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:19.629011Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:20.625478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:20.880248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:20.986619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:22.654223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76674 paired=1 still_pending=0\n2026-05-27T12:56:22.909968Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:23.011719Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:23.548341Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:23.803744Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:24.006495Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1705 row_id=76979 frame_id=76673\n2026-05-27T12:56:24.107684Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:24.825750Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=22 total_pairs=1705 total_evicted=1188 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:25.199541Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:25.876467Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1706 row_id=76980 frame_id=76674\n2026-05-27T12:56:26.133556Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:26.246620Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:28.319284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76673 paired=1 still_pending=0\n2026-05-27T12:56:28.678900Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:29.512325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76675 paired=1 still_pending=0\n2026-05-27T12:56:29.765890Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:29.868441Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:31.303921Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=23 total_pairs=1708 total_evicted=1189 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:56:31.304181Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76675 paired=1 still_pending=0\n2026-05-27T12:56:31.599552Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:56:31.665174Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)\n2026-05-27T12:57:07.554625Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: soundcore AeroClip (input)\n2026-05-27T12:57:07.554916Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input soundcore AeroClip (input): device soundcore AeroClip (input) not found (will back off)\n2026-05-27T12:57:07.556181Z INFO screenpipe_audio::core::run_record_and_transcribe: stopped recording for MacBook Pro Microphone (input)\n2026-05-27T12:57:07.578407Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: soundcore AeroClip (input)\n2026-05-27T12:57:07.578722Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 1): device soundcore AeroClip (input) not found\n2026-05-27T12:57:09.581148Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 2), starting default: soundcore AeroClip (input)\n2026-05-27T12:57:09.581367Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 2): device soundcore AeroClip (input) not found\n2026-05-27T12:57:11.584406Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 3), starting default: soundcore AeroClip (input)\n2026-05-27T12:57:11.584613Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 3): device soundcore AeroClip (input) not found\n2026-05-27T12:57:13.937049Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 4), starting default: soundcore AeroClip (input)\n2026-05-27T12:57:14.009674Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-27T12:57:14.010711Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=soundcore AeroClip (input)\n2026-05-27T12:57:14.285335Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-27T12:57:16.541527Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=14 pending_events=0 pending_frames=10 total_pairs=1709 total_evicted=1203 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:57:16.541642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76674 paired=1 still_pending=0\n2026-05-27T12:57:16.799399Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:16.899957Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:18.274826Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76676 paired=1 still_pending=0\n2026-05-27T12:57:18.534644Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:18.630757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:21.594196Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=visual_change)\n2026-05-27T12:57:22.826023Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76676 paired=1 still_pending=0\n2026-05-27T12:57:22.829030Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=9 total_pairs=1712 total_evicted=1207 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:57:23.086528Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:23.182032Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:24.141919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76676 paired=1 still_pending=0\n2026-05-27T12:57:24.397488Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:24.499275Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:25.210614Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=8 total_pairs=1713 total_evicted=1209 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:57:25.210945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76677 paired=1 still_pending=0\n2026-05-27T12:57:25.467455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:25.568062Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:32.594865Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=5 total_pairs=1714 total_evicted=1213 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:57:32.597277Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76676 paired=1 still_pending=0\n2026-05-27T12:57:33.977629Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76678 paired=1 still_pending=0\n2026-05-27T12:57:35.476141Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76680 paired=1 still_pending=0\n2026-05-27T12:57:35.476737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76680 paired=1 still_pending=0\n2026-05-27T12:57:36.183900Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-27T12:57:36.324651Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-27T12:57:36.478717Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-27T12:57:36.478794Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: MacBook Pro Microphone (input)\n2026-05-27T12:57:36.478830Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-27T12:57:36.895364Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76682 paired=2 still_pending=0\n2026-05-27T12:57:38.543006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76684 paired=1 still_pending=0\n2026-05-27T12:57:43.790453Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-27T12:57:50.881549Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1722 row_id=76996 frame_id=76685\n2026-05-27T12:57:51.260649Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:51.827327Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:57:52.293752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:58.714113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:57:59.082416Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:57:59.646656Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:58:00.114771Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T12:58:07.463734Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:58:07.823705Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:58:08.262138Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:58:08.828514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T12:58:19.107024Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T12:58:49.465919Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=10 pending_events=0 pending_frames=1 total_pairs=1727 total_evicted=1223 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:58:49.466064Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76687 paired=1 still_pending=0\n2026-05-27T12:58:49.719534Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:58:49.820907Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:01.270140Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=1 total_pairs=1728 total_evicted=1224 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:59:01.270401Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76690 paired=1 still_pending=0\n2026-05-27T12:59:01.628549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:02.350772Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76691 paired=1 still_pending=0\n2026-05-27T12:59:02.711089Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:03.285573Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76689 paired=1 still_pending=0\n2026-05-27T12:59:03.543101Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:08.372799Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=visual_change)\n2026-05-27T12:59:09.136458Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76689 paired=1 still_pending=0\n2026-05-27T12:59:09.493536Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:10.199967Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76694 paired=1 still_pending=0\n2026-05-27T12:59:10.454306Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:10.565295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:10.840101Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76694 paired=1 still_pending=0\n2026-05-27T12:59:11.107080Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:11.610163Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:14.908308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1735 row_id=77009 frame_id=76693\n2026-05-27T12:59:15.177327Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:15.261842Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:16.056292Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76694 paired=1 still_pending=0\n2026-05-27T12:59:16.951065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=visual_change)\n2026-05-27T12:59:18.609211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:18.702022Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76693 paired=1 still_pending=0\n2026-05-27T12:59:19.703607Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:19.918668Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76693 paired=1 still_pending=0\n2026-05-27T12:59:20.481133Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:20.568657Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1739 row_id=77014 frame_id=76694\n2026-05-27T12:59:20.795587Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:21.841809Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:25.988039Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1740 row_id=77015 frame_id=76693\n2026-05-27T12:59:29.053793Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76695 paired=1 still_pending=0\n2026-05-27T12:59:29.410000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:58.023283Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1741 total_evicted=1225 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T12:59:58.023405Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76696 paired=1 still_pending=0\n2026-05-27T12:59:58.292222Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T12:59:59.472622Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76696 paired=1 still_pending=0\n2026-05-27T13:00:04.822868Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1744 row_id=77024 frame_id=76701\n2026-05-27T13:00:04.827345Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=11 total_pairs=1744 total_evicted=1228 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:00:05.859149Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=101 elapsed=1.980194208s\n2026-05-27T13:00:05.859559Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 101 eligible frames\n2026-05-27T13:00:09.002448Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 53 frames, 8.5MB → 1.2MB (6.8x), 53 JPEGs deleted\n2026-05-27T13:00:12.304060Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 8.7MB → 3.5MB (2.5x), 46 JPEGs deleted\n2026-05-27T13:00:13.315219Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=8 total_pairs=1744 total_evicted=1231 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:00:13.315542Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76703 paired=1 still_pending=0\n2026-05-27T13:00:18.138745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5656284316783846169, trigger=visual_change)\n2026-05-27T13:00:18.743658Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76708 paired=1 still_pending=0\n2026-05-27T13:00:18.970194Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5656284316783846169, trigger=click)\n2026-05-27T13:00:19.064919Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5656284316783846169, trigger=click)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T13:00:19.550865Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n2026-05-27T13:00:34.627948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=5 total_pairs=1746 total_evicted=1236 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:00:34.629708Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76709 paired=1 still_pending=0\n2026-05-27T13:00:37.896855Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76713 paired=1 still_pending=0\n2026-05-27T13:00:44.659582Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=click)\n2026-05-27T13:00:45.458546Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76718 paired=1 still_pending=0\n2026-05-27T13:00:45.462157Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76718 paired=1 still_pending=0\n2026-05-27T13:00:45.592000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2009570175445071742, trigger=click)\n2026-05-27T13:00:46.647273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76721 paired=1 still_pending=0\n2026-05-27T13:00:46.650096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76721 paired=1 still_pending=0\n2026-05-27T13:00:46.681874Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2009570175445071742, trigger=typing_pause)\n2026-05-27T13:00:48.189864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1753 row_id=77040 frame_id=76720\n2026-05-27T13:00:48.317531Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:48.977644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1754 row_id=77045 frame_id=76723\n2026-05-27T13:00:48.979682Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1755 row_id=77046 frame_id=76723\n2026-05-27T13:00:49.001338Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:49.433408Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:49.594267Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1756 row_id=77047 frame_id=76723\n2026-05-27T13:00:49.596780Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1757 row_id=77048 frame_id=76723\n2026-05-27T13:00:49.620225Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:50.456681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1758 row_id=77049 frame_id=76722\n2026-05-27T13:00:50.457642Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1759 row_id=77050 frame_id=76723\n2026-05-27T13:00:50.531762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=click)\n2026-05-27T13:00:53.664757Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76724 paired=2 still_pending=0\n2026-05-27T13:00:55.402419Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76725 paired=1 still_pending=0\n2026-05-27T13:00:57.778421Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76726 paired=1 still_pending=0\n2026-05-27T13:01:01.961103Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=12 total_pairs=1763 total_evicted=1238 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:01.961343Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76727 paired=1 still_pending=0\n2026-05-27T13:01:02.320337Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=typing_pause)\n2026-05-27T13:01:04.027873Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76728 paired=1 still_pending=0\n2026-05-27T13:01:04.386554Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5533270018071374608, trigger=typing_pause)\n2026-05-27T13:01:05.622333Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=12 total_pairs=1765 total_evicted=1239 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:05.622712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76728 paired=1 still_pending=0\n2026-05-27T13:01:10.164349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76730 paired=1 still_pending=0\n2026-05-27T13:01:10.169992Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1768 row_id=77061 frame_id=76730\n2026-05-27T13:01:12.024863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1769 row_id=77062 frame_id=76732\n2026-05-27T13:01:12.462829Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76734 paired=2 still_pending=0\n2026-05-27T13:01:14.126015Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76735 paired=2 still_pending=0\n2026-05-27T13:01:15.382300Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=13 total_pairs=1773 total_evicted=1240 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:15.382640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76736 paired=2 still_pending=0\n2026-05-27T13:01:15.386720Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1776 row_id=77069 frame_id=76736\n2026-05-27T13:01:15.387132Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1777 row_id=77070 frame_id=76736\n2026-05-27T13:01:18.895485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76737 paired=4 still_pending=0\n2026-05-27T13:01:19.828153Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=12 total_pairs=1781 total_evicted=1241 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:19.896718Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=visual_change)\n2026-05-27T13:01:34.828385Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1781 total_evicted=1242 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:39.828629Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1781 total_evicted=1243 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:49.827854Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=6 pending_events=0 pending_frames=5 total_pairs=1781 total_evicted=1249 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:54.828618Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=4 total_pairs=1781 total_evicted=1250 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:01:56.374350Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=visual_change)\n2026-05-27T13:01:59.071880Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:01:59.169040Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:01:59.829688Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1782 row_id=77387 frame_id=76739\n2026-05-27T13:01:59.851908Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:00.267666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:02.685662Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=visual_change)\n2026-05-27T13:02:04.329864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1783 row_id=77388 frame_id=76739\n2026-05-27T13:02:04.354862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:04.449813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:05.091713Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1784 row_id=77389 frame_id=76739\n2026-05-27T13:02:05.092959Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=1784 total_evicted=1251 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:02:05.126906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2784870372325668039, trigger=typing_pause)\n2026-05-27T13:02:07.308455Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1785 row_id=77390 frame_id=76739\n2026-05-27T13:02:07.347515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8364978901328042122, trigger=click)\n2026-05-27T13:02:08.822599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8364978901328042122, trigger=visual_change)\n2026-05-27T13:02:11.473676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=1785 total_evicted=1252 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20\n2026-05-27T13:02:11.473945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1786 row_id=77393 frame_id=76740\n2026-05-27T13:02:11.476459Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1787 row_id=77394 frame_id=76740\n2026-05-27T13:02:11.500659Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8364978901328042122, trigger=click)\n2026-05-27T13:02:11.608706Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8364978901328042122, trigger=click)\n2026-05-27T13:02:13.586173Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1788 row_id=77395 frame_id=76741\n2026-05-27T13:02:13.590392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1789 row_id=77396 frame_id=76741\n2026-05-27T13:02:13.623038Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8364978901328042122, trigger=click)\n2026-05-27T13:02:14.725690Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1790 row_id=77397 frame_id=76740\n2026-05-27T13:02:14.727813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1791 row_id=77398 frame_id=76740\n2026-05-27T13:02:14.763962Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7938192818966590091, trigger=click)\n2026-05-27T13:02:14.828540Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1791 total_evicted=1253 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.078457445,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (-zsh)","depth":2,"bounds":{"left":0.3487367,"top":1.0,"width":0.078457445,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.35073137,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.42719415,"top":1.0,"width":0.078457445,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.42918882,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5056516,"top":1.0,"width":0.078457445,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-129-190:~ (nc)","depth":2,"bounds":{"left":0.58410907,"top":1.0,"width":0.078457445,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.58610374,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-140-255:~ (-zsh)","depth":2,"bounds":{"left":0.6625665,"top":1.0,"width":0.078457445,"height":-0.042298436},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.66456115,"top":1.0,"width":0.005319149,"height":-0.04549086},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.4956782,"top":1.0,"width":0.027925532,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
6017902916675296563
|
2647283252493120860
|
click
|
accessibility
|
NULL
|
M/paused/lagged/capture_error); investigate the re M/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=8 total_pairs=1515 total_evicted=1052 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:09.915452Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76505 paired=1 still_pending=0
2026-05-27T12:46:09.918660Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=7 total_pairs=1516 total_evicted=1053 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:10.727994Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0
2026-05-27T12:46:11.332742Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1518 row_id=76734 frame_id=76508
2026-05-27T12:46:11.393442Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:13.443359Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1519 row_id=76735 frame_id=76507
2026-05-27T12:46:13.803813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:14.929878Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:46:16.187614Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:46:19.819598Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1520 total_evicted=1054 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:23.591470Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76513 paired=1 still_pending=0
2026-05-27T12:46:23.947762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:25.221434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:26.156752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:27.499978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1523 row_id=76745 frame_id=76514
2026-05-27T12:46:27.857736Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:29.801132Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76517 paired=1 still_pending=0
2026-05-27T12:46:29.820656Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1524 total_evicted=1055 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:30.059795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:35.068012Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:35.326448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:41.165011Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1525 total_evicted=1056 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:41.165200Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:41.424152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:41.950824Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:41.952375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:44.668488Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1529 row_id=76751 frame_id=76520
2026-05-27T12:46:44.669252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1530 row_id=76752 frame_id=76521
2026-05-27T12:46:46.019527Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1531 row_id=76753 frame_id=76520
2026-05-27T12:46:48.148247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76520 paired=2 still_pending=0
2026-05-27T12:46:48.731394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0
2026-05-27T12:46:51.877240Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1535 total_evicted=1057 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:51.877715Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0
2026-05-27T12:46:53.648302Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0
2026-05-27T12:46:54.272758Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0
2026-05-27T12:46:57.323392Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1539 total_evicted=1058 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:57.323646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0
2026-05-27T12:47:01.620667Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76525 paired=1 still_pending=0
2026-05-27T12:47:01.937515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:07.232856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:10.284934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:13.336270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:16.364147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:22.688769Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76526 paired=1 still_pending=0
2026-05-27T12:47:22.690438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=0 pending_frames=12 total_pairs=1542 total_evicted=1065 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:23.044974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:25.589300Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:25.672034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=10 total_pairs=1542 total_evicted=1067 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:25.672148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0
2026-05-27T12:47:28.495364Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1544 row_id=76766 frame_id=76529
2026-05-27T12:47:29.821184Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=8 total_pairs=1544 total_evicted=1069 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:30.403252Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:32.855792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0
2026-05-27T12:47:33.110578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:33.208117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:38.343309Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=1545 total_evicted=1070 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:38.343422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0
2026-05-27T12:47:38.703433Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:40.480813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0
2026-05-27T12:47:40.737804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:40.837862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:41.319113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0
2026-05-27T12:47:41.574344Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:41.882404Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:43.743921Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1549 row_id=76772 frame_id=76530
2026-05-27T12:47:44.015965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:44.098460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:45.354191Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=8 total_pairs=1549 total_evicted=1074 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:45.354424Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0
2026-05-27T12:47:45.621734Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:45.714088Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:50.718103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:53.765110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:55.991145Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=8 total_pairs=1550 total_evicted=1075 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:55.991602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0
2026-05-27T12:47:56.350961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:57.041657Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76532 paired=1 still_pending=0
2026-05-27T12:47:57.401889Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:02.927464Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0
2026-05-27T12:48:02.933165Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1553 total_evicted=1076 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:03.186279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-27T12:48:16.361812Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0
ggml_metal_free: deallocating
2026-05-27T12:48:16.620142Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:16.733322Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:16.817801Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:48:24.444303Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1554 total_evicted=1077 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:24.444428Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0
2026-05-27T12:48:24.697885Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:24.800709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:30.629207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0
2026-05-27T12:48:42.149066Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76535 paired=1 still_pending=0
2026-05-27T12:48:42.153305Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=9 total_pairs=1557 total_evicted=1081 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:43.290267Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76537 paired=1 still_pending=0
2026-05-27T12:48:44.821129Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1558 total_evicted=1082 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:46.846673Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76539 paired=1 still_pending=0
2026-05-27T12:48:49.821591Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1559 total_evicted=1083 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:59.864797Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=1559 total_evicted=1085 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:59.865166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76542 paired=1 still_pending=0
2026-05-27T12:49:01.065519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76544 paired=1 still_pending=0
2026-05-27T12:49:01.152640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1562 row_id=76791 frame_id=76544
2026-05-27T12:49:03.328116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76546 paired=1 still_pending=0
2026-05-27T12:49:03.331199Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1564 row_id=76793 frame_id=76546
2026-05-27T12:49:04.821831Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1564 total_evicted=1086 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:06.434589Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1565 row_id=76796 frame_id=76548
2026-05-27T12:49:09.267795Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1566 row_id=76798 frame_id=76550
2026-05-27T12:49:11.938278Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76552 paired=1 still_pending=0
2026-05-27T12:49:13.618263Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1568 row_id=76800 frame_id=76554
2026-05-27T12:49:14.398973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76556 paired=1 still_pending=0
2026-05-27T12:49:15.861875Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1570 row_id=76802 frame_id=76558
2026-05-27T12:49:17.481533Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1571 row_id=76806 frame_id=76560
2026-05-27T12:49:19.466005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1572 row_id=76807 frame_id=76562
2026-05-27T12:49:19.821386Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1572 total_evicted=1087 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:27.048800Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76564 paired=1 still_pending=0
2026-05-27T12:49:27.051285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1573 total_evicted=1088 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:27.936969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76566 paired=2 still_pending=0
2026-05-27T12:49:29.365779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76567 paired=2 still_pending=0
2026-05-27T12:49:30.449322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76568 paired=2 still_pending=0
2026-05-27T12:49:32.150440Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0
2026-05-27T12:49:36.386782Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1581 total_evicted=1089 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:36.386929Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0
2026-05-27T12:49:38.220308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76571 paired=1 still_pending=0
2026-05-27T12:49:38.746143Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76572 paired=1 still_pending=0
2026-05-27T12:49:42.961297Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames
2026-05-27T12:49:44.557950Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1585 total_evicted=1091 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:44.558076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76573 paired=1 still_pending=0
2026-05-27T12:49:45.249599Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76574 paired=1 still_pending=0
2026-05-27T12:49:45.746700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76575 paired=1 still_pending=0
2026-05-27T12:49:46.035898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 8.5MB → 3.5MB (2.4x), 50 JPEGs deleted
2026-05-27T12:49:50.659176Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 70 frames, 12.4MB → 5.1MB (2.4x), 70 JPEGs deleted
2026-05-27T12:49:58.499676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=14 total_pairs=1588 total_evicted=1092 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:58.499902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76576 paired=1 still_pending=0
2026-05-27T12:49:58.542706Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)
2026-05-27T12:49:58.633153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)
2026-05-27T12:49:58.712913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1590 row_id=76829 frame_id=76576
2026-05-27T12:49:58.713518Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1591 row_id=76830 frame_id=76576
2026-05-27T12:49:59.688085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)
2026-05-27T12:50:00.888000Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1591 total_evicted=1093 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:00.888150Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1592 row_id=76831 frame_id=76576
2026-05-27T12:50:00.890259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1593 row_id=76832 frame_id=76577
2026-05-27T12:50:01.565328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)
2026-05-27T12:50:01.993453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)
2026-05-27T12:50:03.172973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1594 row_id=76837 frame_id=76576
2026-05-27T12:50:03.177345Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1595 row_id=76838 frame_id=76576
2026-05-27T12:50:04.821796Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=14 total_pairs=1595 total_evicted=1097 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:05.457735Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1596 row_id=76840 frame_id=76578
2026-05-27T12:50:07.228497Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1597 row_id=76841 frame_id=76580
2026-05-27T12:50:09.733766Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1598 row_id=76844 frame_id=76582
2026-05-27T12:50:09.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=16 total_pairs=1598 total_evicted=1099 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:15.591438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1598 total_evicted=1102 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:15.592552Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1599 row_id=76845 frame_id=76584
2026-05-27T12:50:16.577941Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1600 row_id=76846 frame_id=76587
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:50:17.212044Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:50:24.730143Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=12 total_pairs=1600 total_evicted=1105 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:24.730523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1601 row_id=76849 frame_id=76589
2026-05-27T12:50:26.164576Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1602 row_id=76850 frame_id=76591
2026-05-27T12:50:40.748062Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=12 total_pairs=1602 total_evicted=1106 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:40.748260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76594 paired=1 still_pending=0
2026-05-27T12:50:47.012001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76596 paired=1 still_pending=0
2026-05-27T12:50:47.874397Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0
2026-05-27T12:50:48.229660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1683339962077118729, trigger=typing_pause)
2026-05-27T12:50:49.214882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0
2026-05-27T12:50:53.977750Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76598 paired=1 still_pending=0
2026-05-27T12:50:56.309074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76600 paired=1 still_pending=0
2026-05-27T12:50:58.173529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0
2026-05-27T12:50:58.429000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)
2026-05-27T12:50:58.532571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)
2026-05-27T12:50:59.091726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0
2026-05-27T12:50:59.349678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)
2026-05-27T12:50:59.556623Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)
2026-05-27T12:51:02.132123Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=12 total_pairs=1610 total_evicted=1110 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:02.132318Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0
2026-05-27T12:51:03.404947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-418369950010791277, trigger=visual_change)
2026-05-27T12:51:04.361502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1612 row_id=76864 frame_id=76604
2026-05-27T12:51:04.363726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1613 row_id=76865 frame_id=76604
2026-05-27T12:51:05.244764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1614 row_id=76866 frame_id=76606
2026-05-27T12:51:05.246838Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=13 total_pairs=1614 total_evicted=1111 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:05.878140Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1615 row_id=76867 frame_id=76608
2026-05-27T12:51:11.887275Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1615 total_evicted=1114 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:11.887419Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1616 row_id=76868 frame_id=76610
2026-05-27T12:51:12.445237Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76612 paired=1 still_pending=0
2026-05-27T12:51:25.947864Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=10 total_pairs=1617 total_evicted=1117 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:25.948133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76613 paired=1 still_pending=0
2026-05-27T12:51:37.613579Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1618 total_evicted=1118 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:37.614036Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76614 paired=1 still_pending=0
2026-05-27T12:51:37.975923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:51:43.896370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:44.252255Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:51:48.602891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:48.966039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:49.157103Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:50.031906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:50.301751Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:51.071619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:52.082663Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:54.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1624 total_evicted=1119 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:58.149853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:59.989746Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=6 total_pairs=1624 total_evicted=1122 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:59.990107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:52:00.272261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:52:09.434291Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=3 total_pairs=1625 total_evicted=1126 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:52:09.434541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76617 paired=1 still_pending=0
2026-05-27T12:52:09.689505Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:52:09.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:52:10.576796Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76618 paired=1 still_pending=0
2026-05-27T12:52:14.464913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76620 paired=1 still_pending=0
2026-05-27T12:52:14.822399Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=6 total_pairs=1628 total_evicted=1127 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:52:17.381610Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1629 row_id=76887 frame_id=76622
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:52:17.756761Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:52:20.687432Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76625 paired=1 still_pending=0
2026-05-27T12:52:23.276833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76628 paired=1 still_pending=0
2026-05-27T12:52:29.445253Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76631 paired=1 still_pending=0
2026-05-27T12:52:35.573618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76636 paired=1 still_pending=0
2026-05-27T12:52:35.832677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:52:36.132401Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:52:36.265576Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1634 row_id=76897 frame_id=76636
2026-05-27T12:52:37.234726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-2...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
79074
|
2779
|
10
|
2026-05-28T06:17:18.204571+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-28/1779 /Users/lukas/.screenpipe/data/data/2026-05-28/1779949038204_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
whisper_init_state: compute buffer (decode) = 96 whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T16:17:18.862798Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T16:19:19.239908Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks
2026-05-27T16:20:38.141382Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 13 eligible frames
2026-05-27T16:20:38.985648Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.2MB → 0.3MB (4.0x), 6 JPEGs deleted
2026-05-27T16:20:39.562443Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 5 frames, 0.8MB → 0.2MB (3.3x), 5 JPEGs deleted
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T16:25:42.551189Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=2 elapsed=2.977805916s
2026-05-27T16:25:42.551827Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T16:45:46.451561Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=0 elapsed=2.911930083s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T16:55:49.902531Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=2.797269291s
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T17:15:53.735688Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=2.870476166s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T17:25:58.860635Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.430256291s
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T17:31:03.317775Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.444169292s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T17:46:07.513696Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.367766333s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T17:56:09.253701Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.600230792s
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T18:01:12.354884Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.088745375s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T18:16:16.300726Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.66344025s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T18:31:21.331314Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.38569975s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T18:46:24.863785Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.35892025s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T18:56:27.848582Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.974494292s
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T19:01:32.268541Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.406029708s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T19:16:35.844538Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.34883125s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-27T19:19:10.131577Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-05-27T19:19:10.180371Z INFO screenpipe_engine::event_driven_capture: monitor 2: exiting pause state, capture resumes
2026-05-27T19:19:10.181279Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2
2026-05-27T19:19:11.096678Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for soundcore AeroClip (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)
2026-05-27T19:19:11.101280Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: stream rebuild required after screen unlock for soundcore AeroClip (input) (recovery is automatic via device_monitor)
2026-05-27T19:19:11.510267Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-27T19:19:13.088581Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart
2026-05-27T19:19:13.088739Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)
2026-05-27T19:19:13.275702Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-27T19:19:13.275838Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)
2026-05-27T19:19:13.275883Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-27T19:19:14.126542Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=0 rows_returned=266 elapsed=3.172579416s
2026-05-27T19:19:21.554805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78861 paired=2 still_pending=0
2026-05-27T19:19:21.737913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2937 row_id=79092 frame_id=78861
2026-05-27T19:19:21.738433Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2938 row_id=79093 frame_id=78861
2026-05-27T19:19:23.337089Z INFO screenpipe_engine::event_driven_capture: monitor 1: exiting pause state, capture resumes
2026-05-27T19:19:24.594015Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-27T19:19:35.103573Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78862 paired=2 still_pending=0
2026-05-27T19:19:39.820426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2941 row_id=79096 frame_id=78864
2026-05-27T19:19:39.821403Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2942 row_id=79097 frame_id=78864
2026-05-27T19:20:58.188372Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=0 total_pairs=2941 total_evicted=2076 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=23
2026-05-27T19:20:58.188693Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78866 paired=2 still_pending=0
2026-05-27T19:20:59.493220Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78875 paired=1 still_pending=0
2026-05-27T19:20:59.576243Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78875 paired=1 still_pending=2
2026-05-27T19:20:59.576633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2947 row_id=79102 frame_id=78875
2026-05-27T19:20:59.576940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2948 row_id=79103 frame_id=78875
2026-05-27T19:21:40.067488Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.214735041s
2026-05-27T19:21:46.775380Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T19:21:46.935956Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T19:21:47.218145Z INFO screenpipe_db::db: created new speaker id=85 (no existing match within threshold)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T19:23:46.150852Z INFO screenpipe_db::db: created new speaker id=86 (no existing match within threshold)
2026-05-27T19:26:46.924006Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T19:27:33.161935Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect
2026-05-27T19:27:33.162914Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)
2026-05-27T19:27:34.378046Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart
2026-05-27T19:27:34.378158Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)
2026-05-27T19:27:34.536448Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-27T19:27:34.536502Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)
2026-05-27T19:27:34.536538Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T19:28:14.094293Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect
2026-05-27T19:28:14.094516Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)
2026-05-27T19:28:16.063296Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart
2026-05-27T19:28:16.063534Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)
2026-05-27T19:28:16.182764Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-27T19:28:16.182890Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)
2026-05-27T19:28:16.182944Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-27T19:28:35.154474Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-27T19:28:36.204851Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-27T19:28:36.320413Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-27T19:28:36.320512Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: MacBook Pro Microphone (input)
2026-05-27T19:28:36.320550Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-27T19:28:42.802561Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-27T19:29:09.436430Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T19:29:09.624056Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:29:21.480217Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks
2026-05-27T19:29:39.329156Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T19:30:10.035504Z INFO screenpipe_db::db: created new speaker id=87 (no existing match within threshold)
2026-05-27T19:31:10.870402Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-05-27T19:31:10.901074Z INFO screenpipe_engine::event_driven_capture: monitor 1: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream
2026-05-27T19:31:10.911913Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1
2026-05-27T19:31:11.037656Z INFO screenpipe_engine::event_driven_capture: monitor 2: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream
2026-05-27T19:31:11.039089Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:31:21.901499Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-27T19:31:38.182794Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)
2026-05-27T19:31:44.036779Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=21 elapsed=3.834621166s
2026-05-27T19:31:44.036888Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 21 eligible frames
2026-05-27T19:31:44.962604Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.6MB → 0.6MB (4.2x), 10 JPEGs deleted
2026-05-27T19:31:46.049452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.3MB → 0.8MB (3.0x), 11 JPEGs deleted
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:33:22.255803Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:35:22.622050Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks
2026-05-27T19:36:46.180141Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 22 eligible frames
2026-05-27T19:36:47.000392Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.6MB → 0.4MB (6.0x), 10 JPEGs deleted
2026-05-27T19:36:47.761647Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.1MB → 0.3MB (6.3x), 10 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:37:22.983307Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:39:23.310196Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:41:23.699761Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks
2026-05-27T19:41:48.301565Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 18 eligible frames
2026-05-27T19:41:49.105007Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 2.1MB → 0.4MB (4.8x), 8 JPEGs deleted
2026-05-27T19:41:49.844943Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 1.7MB → 0.3MB (5.0x), 8 JPEGs deleted
2026-05-27T19:46:53.070295Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=2 elapsed=3.173894667s
2026-05-27T19:46:53.071008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T20:01:57.477900Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.076398417s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T20:16:59.250820Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.474732166s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-27T20:22:00.751858Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.487661583s
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T20:24:09.994516Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-05-27T20:24:10.513707Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)
2026-05-27T20:24:10.515471Z INFO screenpipe_engine::event_driven_capture: monitor 1: exiting pause state, capture resumes
2026-05-27T20:24:10.520220Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1
2026-05-27T20:24:10.520332Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)
2026-05-27T20:24:12.791928Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart
2026-05-27T20:24:12.792021Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)
2026-05-27T20:24:13.540567Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-27T20:24:13.540645Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)
2026-05-27T20:24:13.540725Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-27T20:24:14.319586Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-27T20:24:15.301552Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2949 row_id=79104 frame_id=78877
2026-05-27T20:24:15.303852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2950 row_id=79105 frame_id=78877
2026-05-27T20:24:15.304917Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=1 total_pairs=2949 total_evicted=2079 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=23
2026-05-27T20:24:15.591192Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-05-27T20:24:16.268149Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.1ms elapsed (expected 5.3ms) → inserting 81.8ms silence (7852 samples)
2026-05-27T20:24:18.407919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2951 row_id=79106 frame_id=78917
2026-05-27T20:24:18.530701Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2952 row_id=79107 frame_id=78917
2026-05-27T20:24:18.910852Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=0 rows_returned=268 elapsed=2.974554041s
2026-05-27T20:24:32.364957Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78918 paired=2 still_pending=0
2026-05-27T20:24:33.201260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78919 paired=2 still_pending=0
2026-05-27T20:24:37.724508Z INFO screenpipe_engine::event_driven_capture: monitor 2: exiting pause state, capture resumes
2026-05-27T20:24:38.732543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78920 paired=2 still_pending=0
2026-05-27T20:24:40.714895Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-27T20:24:41.061484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78921 paired=1 still_pending=0
2026-05-27T20:24:51.979910Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78923 paired=1 still_pending=0
2026-05-27T20:24:54.461251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78926 paired=1 still_pending=0
2026-05-27T20:25:08.545615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78928 paired=1 still_pending=0
2026-05-27T20:25:16.197209Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=2961 total_evicted=2080 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29
2026-05-27T20:25:16.197432Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78930 paired=1 still_pending=0
2026-05-27T20:25:22.213582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78934 paired=1 still_pending=0
2026-05-27T20:25:24.046960Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78937 paired=1 still_pending=0
2026-05-27T20:25:25.114376Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-05-27T20:25:25.194429Z INFO screenpipe_engine::event_driven_capture: monitor 2: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream
2026-05-27T20:25:25.208753Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-27T20:25:25.256695Z INFO screenpipe_engine::event_driven_capture: monitor 1: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream
2026-05-27T20:25:25.258505Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1
2026-05-27T20:25:43.969432Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)
2026-05-27T20:25:46.039629Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=3 total_pairs=2964 total_evicted=2082 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29
2026-05-27T20:26:21.041596Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=2964 total_evicted=2083 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29
2026-05-27T20:26:26.041344Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=0 total_pairs=2964 total_evicted=2085 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29
2026-05-27T20:27:04.879948Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.114801083s
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T20:32:09.417429Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.524074166s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T20:35:24.711589Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-27T20:37:09.552031Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 22 eligible frames
2026-05-27T20:37:10.445486Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 2.1MB → 0.7MB (3.1x), 8 JPEGs deleted
2026-05-27T20:37:11.757146Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.1MB → 1.0MB (2.0x), 14 JPEGs deleted
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T20:42:11.877362Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
2026-05-27T20:47:13.792842Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=0 elapsed=1.903846458s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T20:57:15.516997Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.576325208s
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T21:02:18.761759Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.232037959s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T21:17:24.503646Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.601511166s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T21:32:28.310389Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.630360916s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T21:47:31.996254Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.338638583s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T21:55:45.830353Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: soundcore AeroClip (input)
2026-05-27T21:55:45.901607Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-27T21:55:45.902520Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: soundcore AeroClip (input)
2026-05-27T21:55:45.902724Z INFO screenpipe_audio::core::run_record_and_transcribe: stopped recording for MacBook Pro Microphone (input)
2026-05-27T21:55:46.158614Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-27T21:55:46.158649Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for soundcore AeroClip (input)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T21:57:25.640644Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks
2026-05-27T21:57:34.030716Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-27T21:57:3...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"whisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T16:17:18.862798Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T16:19:19.239908Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks\n2026-05-27T16:20:38.141382Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 13 eligible frames\n2026-05-27T16:20:38.985648Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.2MB → 0.3MB (4.0x), 6 JPEGs deleted\n2026-05-27T16:20:39.562443Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 5 frames, 0.8MB → 0.2MB (3.3x), 5 JPEGs deleted\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T16:25:42.551189Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=2 elapsed=2.977805916s\n2026-05-27T16:25:42.551827Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T16:45:46.451561Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=0 elapsed=2.911930083s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T16:55:49.902531Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=2.797269291s\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T17:15:53.735688Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=2.870476166s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T17:25:58.860635Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=4.430256291s\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T17:31:03.317775Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=4.444169292s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T17:46:07.513696Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=3.367766333s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T17:56:09.253701Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.600230792s\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T18:01:12.354884Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=3.088745375s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T18:16:16.300726Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=3.66344025s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T18:31:21.331314Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=3.38569975s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T18:46:24.863785Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=3.35892025s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T18:56:27.848582Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.974494292s\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T19:01:32.268541Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=4.406029708s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T19:16:35.844538Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=3.34883125s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-27T19:19:10.131577Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-27T19:19:10.180371Z INFO screenpipe_engine::event_driven_capture: monitor 2: exiting pause state, capture resumes\n2026-05-27T19:19:10.181279Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-05-27T19:19:11.096678Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for soundcore AeroClip (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-27T19:19:11.101280Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: stream rebuild required after screen unlock for soundcore AeroClip (input) (recovery is automatic via device_monitor)\n2026-05-27T19:19:11.510267Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-27T19:19:13.088581Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-27T19:19:13.088739Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-27T19:19:13.275702Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-27T19:19:13.275838Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-27T19:19:13.275883Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-27T19:19:14.126542Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=266 elapsed=3.172579416s\n2026-05-27T19:19:21.554805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78861 paired=2 still_pending=0\n2026-05-27T19:19:21.737913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2937 row_id=79092 frame_id=78861\n2026-05-27T19:19:21.738433Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2938 row_id=79093 frame_id=78861\n2026-05-27T19:19:23.337089Z INFO screenpipe_engine::event_driven_capture: monitor 1: exiting pause state, capture resumes\n2026-05-27T19:19:24.594015Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-27T19:19:35.103573Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78862 paired=2 still_pending=0\n2026-05-27T19:19:39.820426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2941 row_id=79096 frame_id=78864\n2026-05-27T19:19:39.821403Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2942 row_id=79097 frame_id=78864\n2026-05-27T19:20:58.188372Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=0 total_pairs=2941 total_evicted=2076 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=23\n2026-05-27T19:20:58.188693Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78866 paired=2 still_pending=0\n2026-05-27T19:20:59.493220Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78875 paired=1 still_pending=0\n2026-05-27T19:20:59.576243Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78875 paired=1 still_pending=2\n2026-05-27T19:20:59.576633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2947 row_id=79102 frame_id=78875\n2026-05-27T19:20:59.576940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2948 row_id=79103 frame_id=78875\n2026-05-27T19:21:40.067488Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=4.214735041s\n2026-05-27T19:21:46.775380Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T19:21:46.935956Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T19:21:47.218145Z INFO screenpipe_db::db: created new speaker id=85 (no existing match within threshold)\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T19:23:46.150852Z INFO screenpipe_db::db: created new speaker id=86 (no existing match within threshold)\n2026-05-27T19:26:46.924006Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T19:27:33.161935Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect\n2026-05-27T19:27:33.162914Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)\n2026-05-27T19:27:34.378046Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-27T19:27:34.378158Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-27T19:27:34.536448Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-27T19:27:34.536502Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-27T19:27:34.536538Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T19:28:14.094293Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect\n2026-05-27T19:28:14.094516Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)\n2026-05-27T19:28:16.063296Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-27T19:28:16.063534Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-27T19:28:16.182764Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-27T19:28:16.182890Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-27T19:28:16.182944Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-27T19:28:35.154474Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-27T19:28:36.204851Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-27T19:28:36.320413Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-27T19:28:36.320512Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: MacBook Pro Microphone (input)\n2026-05-27T19:28:36.320550Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-27T19:28:42.802561Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-27T19:29:09.436430Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T19:29:09.624056Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T19:29:21.480217Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks\n2026-05-27T19:29:39.329156Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T19:30:10.035504Z INFO screenpipe_db::db: created new speaker id=87 (no existing match within threshold)\n2026-05-27T19:31:10.870402Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-05-27T19:31:10.901074Z INFO screenpipe_engine::event_driven_capture: monitor 1: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream\n2026-05-27T19:31:10.911913Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-27T19:31:11.037656Z INFO screenpipe_engine::event_driven_capture: monitor 2: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream\n2026-05-27T19:31:11.039089Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T19:31:21.901499Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T19:31:38.182794Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-27T19:31:44.036779Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=21 elapsed=3.834621166s\n2026-05-27T19:31:44.036888Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 21 eligible frames\n2026-05-27T19:31:44.962604Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.6MB → 0.6MB (4.2x), 10 JPEGs deleted\n2026-05-27T19:31:46.049452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.3MB → 0.8MB (3.0x), 11 JPEGs deleted\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T19:33:22.255803Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T19:35:22.622050Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks\n2026-05-27T19:36:46.180141Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 22 eligible frames\n2026-05-27T19:36:47.000392Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.6MB → 0.4MB (6.0x), 10 JPEGs deleted\n2026-05-27T19:36:47.761647Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.1MB → 0.3MB (6.3x), 10 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T19:37:22.983307Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T19:39:23.310196Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T19:41:23.699761Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks\n2026-05-27T19:41:48.301565Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 18 eligible frames\n2026-05-27T19:41:49.105007Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 2.1MB → 0.4MB (4.8x), 8 JPEGs deleted\n2026-05-27T19:41:49.844943Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 1.7MB → 0.3MB (5.0x), 8 JPEGs deleted\n2026-05-27T19:46:53.070295Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=2 elapsed=3.173894667s\n2026-05-27T19:46:53.071008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T20:01:57.477900Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=4.076398417s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T20:16:59.250820Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.474732166s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-27T20:22:00.751858Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.487661583s\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T20:24:09.994516Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-27T20:24:10.513707Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-27T20:24:10.515471Z INFO screenpipe_engine::event_driven_capture: monitor 1: exiting pause state, capture resumes\n2026-05-27T20:24:10.520220Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-05-27T20:24:10.520332Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-27T20:24:12.791928Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-27T20:24:12.792021Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-27T20:24:13.540567Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-27T20:24:13.540645Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-27T20:24:13.540725Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-27T20:24:14.319586Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-27T20:24:15.301552Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2949 row_id=79104 frame_id=78877\n2026-05-27T20:24:15.303852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2950 row_id=79105 frame_id=78877\n2026-05-27T20:24:15.304917Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=1 total_pairs=2949 total_evicted=2079 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=23\n2026-05-27T20:24:15.591192Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-05-27T20:24:16.268149Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.1ms elapsed (expected 5.3ms) → inserting 81.8ms silence (7852 samples)\n2026-05-27T20:24:18.407919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2951 row_id=79106 frame_id=78917\n2026-05-27T20:24:18.530701Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2952 row_id=79107 frame_id=78917\n2026-05-27T20:24:18.910852Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=268 elapsed=2.974554041s\n2026-05-27T20:24:32.364957Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78918 paired=2 still_pending=0\n2026-05-27T20:24:33.201260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78919 paired=2 still_pending=0\n2026-05-27T20:24:37.724508Z INFO screenpipe_engine::event_driven_capture: monitor 2: exiting pause state, capture resumes\n2026-05-27T20:24:38.732543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78920 paired=2 still_pending=0\n2026-05-27T20:24:40.714895Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-27T20:24:41.061484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78921 paired=1 still_pending=0\n2026-05-27T20:24:51.979910Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78923 paired=1 still_pending=0\n2026-05-27T20:24:54.461251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78926 paired=1 still_pending=0\n2026-05-27T20:25:08.545615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78928 paired=1 still_pending=0\n2026-05-27T20:25:16.197209Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=2961 total_evicted=2080 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-27T20:25:16.197432Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78930 paired=1 still_pending=0\n2026-05-27T20:25:22.213582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78934 paired=1 still_pending=0\n2026-05-27T20:25:24.046960Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78937 paired=1 still_pending=0\n2026-05-27T20:25:25.114376Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-05-27T20:25:25.194429Z INFO screenpipe_engine::event_driven_capture: monitor 2: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream\n2026-05-27T20:25:25.208753Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-27T20:25:25.256695Z INFO screenpipe_engine::event_driven_capture: monitor 1: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream\n2026-05-27T20:25:25.258505Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-27T20:25:43.969432Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-27T20:25:46.039629Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=3 total_pairs=2964 total_evicted=2082 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-27T20:26:21.041596Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=2964 total_evicted=2083 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-27T20:26:26.041344Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=0 total_pairs=2964 total_evicted=2085 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-27T20:27:04.879948Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=4.114801083s\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T20:32:09.417429Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=4.524074166s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T20:35:24.711589Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T20:37:09.552031Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 22 eligible frames\n2026-05-27T20:37:10.445486Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 2.1MB → 0.7MB (3.1x), 8 JPEGs deleted\n2026-05-27T20:37:11.757146Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.1MB → 1.0MB (2.0x), 14 JPEGs deleted\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T20:42:11.877362Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-05-27T20:47:13.792842Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=0 elapsed=1.903846458s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T20:57:15.516997Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.576325208s\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T21:02:18.761759Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=3.232037959s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T21:17:24.503646Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=4.601511166s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T21:32:28.310389Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=3.630360916s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T21:47:31.996254Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=3.338638583s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T21:55:45.830353Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: soundcore AeroClip (input)\n2026-05-27T21:55:45.901607Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-27T21:55:45.902520Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: soundcore AeroClip (input)\n2026-05-27T21:55:45.902724Z INFO screenpipe_audio::core::run_record_and_transcribe: stopped recording for MacBook Pro Microphone (input)\n2026-05-27T21:55:46.158614Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-27T21:55:46.158649Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for soundcore AeroClip (input)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T21:57:25.640644Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks\n2026-05-27T21:57:34.030716Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-27T21:57:34.042796Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-27T21:57:34.143625Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-27T21:57:34.143687Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: MacBook Pro Microphone (input)\n2026-05-27T21:57:34.143727Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-27T21:57:34.143756Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-27T21:57:34.143884Z INFO screenpipe_audio::core::run_record_and_transcribe: stopped recording for soundcore AeroClip (input) (disconnected)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T22:48:34.635100Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: soundcore AeroClip (input)\n2026-05-27T22:48:34.636146Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input soundcore AeroClip (input): device soundcore AeroClip (input) not found (will back off)\n2026-05-27T22:48:34.642564Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:34.642595Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 1): device soundcore AeroClip (input) not found\n2026-05-27T22:48:34.642668Z INFO screenpipe_audio::core::run_record_and_transcribe: stopped recording for MacBook Pro Microphone (input)\n2026-05-27T22:48:36.647065Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 2), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:36.647183Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 2): device soundcore AeroClip (input) not found\n2026-05-27T22:48:38.653358Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 3), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:38.653822Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 3): device soundcore AeroClip (input) not found\n2026-05-27T22:48:40.658354Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 4), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:40.658421Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 4): device soundcore AeroClip (input) not found\n2026-05-27T22:48:42.665222Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 5), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:42.665497Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 5): device soundcore AeroClip (input) not found\n2026-05-27T22:48:44.669884Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-27T22:48:44.786029Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-27T22:48:44.786103Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: MacBook Pro Microphone (input)\n2026-05-27T22:48:44.786133Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-27T22:48:44.786141Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-27T22:48:46.789686Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: soundcore AeroClip (input)\n2026-05-27T22:48:46.789751Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input soundcore AeroClip (input): device soundcore AeroClip (input) not found (will back off)\n2026-05-27T22:48:46.790685Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:46.790699Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 1): device soundcore AeroClip (input) not found\n2026-05-27T22:48:46.791974Z INFO screenpipe_audio::core::run_record_and_transcribe: stopped recording for MacBook Pro Microphone (input)\n2026-05-27T22:48:48.793753Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 2), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:48.793807Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 2): device soundcore AeroClip (input) not found\n2026-05-27T22:48:50.798231Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 3), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:50.798795Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 3): device soundcore AeroClip (input) not found\n2026-05-27T22:48:52.803326Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 4), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:52.803454Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 4): device soundcore AeroClip (input) not found\n2026-05-27T22:48:54.807477Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 5), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:54.807567Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 5): device soundcore AeroClip (input) not found\n2026-05-27T22:48:57.175193Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 6), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:57.244889Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-27T22:48:57.244998Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=soundcore AeroClip (input)\n2026-05-27T22:48:57.522208Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-27T22:48:57.522248Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for soundcore AeroClip (input)\n2026-05-27T22:49:16.793234Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-27T22:49:17.553681Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-27T22:49:17.664685Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-27T22:49:17.664775Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: MacBook Pro Microphone (input)\n2026-05-27T22:49:17.664819Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-27T22:49:17.664829Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-27T22:49:17.664811Z INFO screenpipe_audio::core::run_record_and_transcribe: stopped recording for soundcore AeroClip (input) (disconnected)\n2026-05-28T02:31:30.508579Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=0 elapsed=4.653073083s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-28T08:15:03.094737Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=7.84128425s\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-28T08:44:16.189357Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: soundcore AeroClip (input)\n2026-05-28T08:44:16.189658Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input soundcore AeroClip (input): device soundcore AeroClip (input) not found (will back off)\n2026-05-28T08:44:16.199532Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: soundcore AeroClip (input)\n2026-05-28T08:44:16.199598Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 1): device soundcore AeroClip (input) not found\n2026-05-28T08:44:17.192381Z INFO screenpipe_audio::core::run_record_and_transcribe: stopped recording for MacBook Pro Microphone (input)\n2026-05-28T08:44:18.203805Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 2), starting default: soundcore AeroClip (input)\n2026-05-28T08:44:18.203908Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 2): device soundcore AeroClip (input) not found\n2026-05-28T08:44:20.205527Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 3), starting default: soundcore AeroClip (input)\n2026-05-28T08:44:20.205588Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 3): device soundcore AeroClip (input) not found\n2026-05-28T08:44:22.207658Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 4), starting default: soundcore AeroClip (input)\n2026-05-28T08:44:22.207750Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 4): device soundcore AeroClip (input) not found\n2026-05-28T08:44:24.211921Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 5), starting default: soundcore AeroClip (input)\n2026-05-28T08:44:24.212042Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 5): device soundcore AeroClip (input) not found\n2026-05-28T08:44:26.215293Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 6), starting default: soundcore AeroClip (input)\n2026-05-28T08:44:26.215361Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 6): device soundcore AeroClip (input) not found\n2026-05-28T08:44:28.217134Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 7), starting default: soundcore AeroClip (input)\n2026-05-28T08:44:28.217329Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 7): device soundcore AeroClip (input) not found\n2026-05-28T08:44:30.219490Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 8), starting default: soundcore AeroClip (input)\n2026-05-28T08:44:30.219567Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 8): device soundcore AeroClip (input) not found\n2026-05-28T08:44:32.553620Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 9), starting default: soundcore AeroClip (input)\n2026-05-28T08:44:32.620520Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-28T08:44:32.621989Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=soundcore AeroClip (input)\n2026-05-28T08:44:32.877769Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-28T08:44:32.877802Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for soundcore AeroClip (input)\n2026-05-28T08:47:44.136444Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.063399167s\n\n update: screenpipe 0.3.350 available (you have 0.3.349)\n run: npx screenpipe@latest record\n\n2026-05-28T08:52:48.518279Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=0 elapsed=3.820762667s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-28T09:07:52.050268Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.489185709s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-28T09:08:08.119702Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-28T09:08:08.176339Z INFO screenpipe_engine::event_driven_capture: monitor 1: exiting pause state, capture resumes\n2026-05-28T09:08:08.176824Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-05-28T09:08:08.186764Z INFO screenpipe_engine::event_driven_capture: monitor 2: exiting pause state, capture resumes\n2026-05-28T09:08:08.412607Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for soundcore AeroClip (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-28T09:08:08.420330Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: stream rebuild required after screen unlock for soundcore AeroClip (input) (recovery is automatic via device_monitor)\n2026-05-28T09:08:09.926328Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-28T09:08:10.186238Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: day rollover (147 -> 148), clearing cache\n2026-05-28T09:08:10.387792Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-28T09:08:10.387908Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-28T09:08:10.546781Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-28T09:08:10.547324Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-28T09:08:10.547418Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-28T09:08:10.938445Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-28T09:08:10.942838Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-28T09:08:40.296109Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78941 paired=1 still_pending=0\n2026-05-28T09:08:40.310796Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2967 row_id=79123 frame_id=78941\n2026-05-28T09:08:40.315593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2968 row_id=79124 frame_id=78941\n2026-05-28T09:08:40.318810Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2969 row_id=79125 frame_id=78941\n2026-05-28T09:08:41.581360Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-28T09:08:51.084384Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78945 paired=2 still_pending=0\n2026-05-28T09:08:55.533031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78947 paired=2 still_pending=0\n2026-05-28T09:08:57.644192Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78950 paired=2 still_pending=0\n2026-05-28T09:08:59.108461Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78951 paired=2 still_pending=0\n2026-05-28T09:08:59.729946Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78953 paired=2 still_pending=0\n2026-05-28T09:09:03.846516Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78954 paired=2 still_pending=0\n2026-05-28T09:09:21.114133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78957 paired=1 still_pending=0\n2026-05-28T09:09:31.452345Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78964 paired=1 still_pending=0\n2026-05-28T09:09:32.553205Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78966 paired=1 still_pending=0\n2026-05-28T09:09:34.640604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78967 paired=1 still_pending=0\n2026-05-28T09:09:36.432366Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78968 paired=1 still_pending=0\n2026-05-28T09:09:38.473354Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78969 paired=1 still_pending=0\n2026-05-28T09:09:39.989647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78972 paired=1 still_pending=0\n2026-05-28T09:09:40.788422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78973 paired=1 still_pending=0\n2026-05-28T09:09:41.307183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2990 row_id=79146 frame_id=78975\n2026-05-28T09:09:43.612864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2991 row_id=79147 frame_id=78976\n2026-05-28T09:09:44.586502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78978 paired=1 still_pending=0\n2026-05-28T09:09:45.800609Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78980 paired=1 still_pending=0\n2026-05-28T09:09:46.493375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78982 paired=1 still_pending=0\n2026-05-28T09:09:46.846987Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=2993 total_evicted=2086 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:09:47.913078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78984 paired=1 still_pending=0\n2026-05-28T09:09:50.482165Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78986 paired=1 still_pending=0\n2026-05-28T09:09:53.707555Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78988 paired=1 still_pending=0\n2026-05-28T09:09:55.560706Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78990 paired=1 still_pending=0\n2026-05-28T09:09:57.845737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78992 paired=1 still_pending=0\n2026-05-28T09:10:17.861284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78994 paired=1 still_pending=0\n2026-05-28T09:10:32.993593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78997 paired=1 still_pending=0\n2026-05-28T09:10:33.009262Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=3000 total_evicted=2087 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:10:37.043776Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79002 paired=1 still_pending=0\n2026-05-28T09:10:37.840392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79005 paired=1 still_pending=0\n2026-05-28T09:10:42.196949Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=3004 row_id=79160 frame_id=79007\n2026-05-28T09:10:42.199682Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=14 total_pairs=3003 total_evicted=2091 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:10:42.795923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79009 paired=1 still_pending=0\n2026-05-28T09:10:46.953590Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=3006 row_id=79162 frame_id=79011\n2026-05-28T09:10:46.954898Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=11 total_pairs=3005 total_evicted=2095 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:10:48.362093Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79013 paired=1 still_pending=0\n2026-05-28T09:10:56.884021Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=9 total_pairs=3006 total_evicted=2099 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:10:56.885050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79015 paired=1 still_pending=0\n2026-05-28T09:10:58.261886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79017 paired=1 still_pending=0\n2026-05-28T09:11:02.111404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=3008 total_evicted=2100 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:11:02.111854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79019 paired=1 still_pending=0\n2026-05-28T09:11:02.826906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79021 paired=1 still_pending=0\n2026-05-28T09:11:04.062144Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=3012 row_id=79168 frame_id=79023\n2026-05-28T09:11:05.924711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79025 paired=1 still_pending=0\n2026-05-28T09:11:07.187098Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79028 paired=1 still_pending=0\n2026-05-28T09:11:07.189823Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=3015 row_id=79171 frame_id=79028\n2026-05-28T09:11:34.756896Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=14 total_pairs=3014 total_evicted=2102 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:11:34.757271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79030 paired=2 still_pending=0\n2026-05-28T09:11:52.540266Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=6 pending_events=0 pending_frames=9 total_pairs=3016 total_evicted=2108 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:11:52.540571Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79033 paired=2 still_pending=0\n2026-05-28T09:11:56.518983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79035 paired=1 still_pending=0\n2026-05-28T09:11:56.522479Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79035 paired=1 still_pending=0\n2026-05-28T09:12:01.139928Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=9 total_pairs=3020 total_evicted=2110 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:12:01.140517Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79038 paired=1 still_pending=0\n2026-05-28T09:12:01.143273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79038 paired=1 still_pending=0\n2026-05-28T09:12:02.902956Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79040 paired=1 still_pending=0\n2026-05-28T09:12:02.906690Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=8 total_pairs=3023 total_evicted=2112 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:12:02.906783Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79040 paired=1 still_pending=0\n2026-05-28T09:12:04.386385Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79042 paired=1 still_pending=0\n2026-05-28T09:12:04.390007Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79042 paired=1 still_pending=0\n2026-05-28T09:12:05.418974Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79044 paired=1 still_pending=0\n2026-05-28T09:12:05.419636Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79044 paired=1 still_pending=0\n2026-05-28T09:12:10.602185Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=3030 row_id=79186 frame_id=79045\n2026-05-28T09:12:10.604126Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=8 total_pairs=3029 total_evicted=2116 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:12:10.604232Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=3031 row_id=79187 frame_id=79045\n2026-05-28T09:12:42.640100Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-28T09:12:42.798190Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-28T09:12:56.565661Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=0 elapsed=4.509644083s\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-28T09:14:42.184381Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-28T09:16:57.363283Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-28T09:16:58.201543Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-28T09:16:58.302319Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-28T09:16:58.302792Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: MacBook Pro Microphone (input)\n2026-05-28T09:16:58.302846Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-28T09:17:05.338725Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-28T09:17:05.674454Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=8 pending_events=0 pending_frames=0 total_pairs=3030 total_evicted=2124 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:17:05.674804Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79048 paired=1 still_pending=0\n2026-05-28T09:17:05.702190Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79048 paired=1 still_pending=0\n2026-05-28T09:17:07.482273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79068 paired=1 still_pending=0\n2026-05-28T09:17:07.494275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79068 paired=1 still_pending=0\n2026-05-28T09:17:12.064908Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79070 paired=1 still_pending=0\n2026-05-28T09:17:15.825900Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79073 paired=1 still_pending=0","depth":4,"on_screen":true,"value":"whisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T16:17:18.862798Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T16:19:19.239908Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks\n2026-05-27T16:20:38.141382Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 13 eligible frames\n2026-05-27T16:20:38.985648Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.2MB → 0.3MB (4.0x), 6 JPEGs deleted\n2026-05-27T16:20:39.562443Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 5 frames, 0.8MB → 0.2MB (3.3x), 5 JPEGs deleted\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T16:25:42.551189Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=2 elapsed=2.977805916s\n2026-05-27T16:25:42.551827Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T16:45:46.451561Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=0 elapsed=2.911930083s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T16:55:49.902531Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=2.797269291s\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T17:15:53.735688Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=2.870476166s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T17:25:58.860635Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=4.430256291s\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T17:31:03.317775Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=4.444169292s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T17:46:07.513696Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=3.367766333s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T17:56:09.253701Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.600230792s\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T18:01:12.354884Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=3.088745375s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T18:16:16.300726Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=3.66344025s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T18:31:21.331314Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=3.38569975s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T18:46:24.863785Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=3.35892025s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T18:56:27.848582Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.974494292s\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T19:01:32.268541Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=4.406029708s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T19:16:35.844538Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=3.34883125s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-27T19:19:10.131577Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-27T19:19:10.180371Z INFO screenpipe_engine::event_driven_capture: monitor 2: exiting pause state, capture resumes\n2026-05-27T19:19:10.181279Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2\n2026-05-27T19:19:11.096678Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for soundcore AeroClip (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-27T19:19:11.101280Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: stream rebuild required after screen unlock for soundcore AeroClip (input) (recovery is automatic via device_monitor)\n2026-05-27T19:19:11.510267Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-27T19:19:13.088581Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-27T19:19:13.088739Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-27T19:19:13.275702Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-27T19:19:13.275838Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-27T19:19:13.275883Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-27T19:19:14.126542Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=266 elapsed=3.172579416s\n2026-05-27T19:19:21.554805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78861 paired=2 still_pending=0\n2026-05-27T19:19:21.737913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2937 row_id=79092 frame_id=78861\n2026-05-27T19:19:21.738433Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2938 row_id=79093 frame_id=78861\n2026-05-27T19:19:23.337089Z INFO screenpipe_engine::event_driven_capture: monitor 1: exiting pause state, capture resumes\n2026-05-27T19:19:24.594015Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-27T19:19:35.103573Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78862 paired=2 still_pending=0\n2026-05-27T19:19:39.820426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2941 row_id=79096 frame_id=78864\n2026-05-27T19:19:39.821403Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2942 row_id=79097 frame_id=78864\n2026-05-27T19:20:58.188372Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=0 total_pairs=2941 total_evicted=2076 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=23\n2026-05-27T19:20:58.188693Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78866 paired=2 still_pending=0\n2026-05-27T19:20:59.493220Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78875 paired=1 still_pending=0\n2026-05-27T19:20:59.576243Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78875 paired=1 still_pending=2\n2026-05-27T19:20:59.576633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2947 row_id=79102 frame_id=78875\n2026-05-27T19:20:59.576940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2948 row_id=79103 frame_id=78875\n2026-05-27T19:21:40.067488Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=4.214735041s\n2026-05-27T19:21:46.775380Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T19:21:46.935956Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T19:21:47.218145Z INFO screenpipe_db::db: created new speaker id=85 (no existing match within threshold)\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T19:23:46.150852Z INFO screenpipe_db::db: created new speaker id=86 (no existing match within threshold)\n2026-05-27T19:26:46.924006Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T19:27:33.161935Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect\n2026-05-27T19:27:33.162914Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)\n2026-05-27T19:27:34.378046Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-27T19:27:34.378158Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-27T19:27:34.536448Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-27T19:27:34.536502Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-27T19:27:34.536538Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T19:28:14.094293Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect\n2026-05-27T19:28:14.094516Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)\n2026-05-27T19:28:16.063296Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-27T19:28:16.063534Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-27T19:28:16.182764Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-27T19:28:16.182890Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-27T19:28:16.182944Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-27T19:28:35.154474Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-27T19:28:36.204851Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-27T19:28:36.320413Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-27T19:28:36.320512Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: MacBook Pro Microphone (input)\n2026-05-27T19:28:36.320550Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-27T19:28:42.802561Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-27T19:29:09.436430Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T19:29:09.624056Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T19:29:21.480217Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks\n2026-05-27T19:29:39.329156Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-27T19:30:10.035504Z INFO screenpipe_db::db: created new speaker id=87 (no existing match within threshold)\n2026-05-27T19:31:10.870402Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-05-27T19:31:10.901074Z INFO screenpipe_engine::event_driven_capture: monitor 1: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream\n2026-05-27T19:31:10.911913Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-27T19:31:11.037656Z INFO screenpipe_engine::event_driven_capture: monitor 2: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream\n2026-05-27T19:31:11.039089Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T19:31:21.901499Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T19:31:38.182794Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-27T19:31:44.036779Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=21 elapsed=3.834621166s\n2026-05-27T19:31:44.036888Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 21 eligible frames\n2026-05-27T19:31:44.962604Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.6MB → 0.6MB (4.2x), 10 JPEGs deleted\n2026-05-27T19:31:46.049452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.3MB → 0.8MB (3.0x), 11 JPEGs deleted\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T19:33:22.255803Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T19:35:22.622050Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks\n2026-05-27T19:36:46.180141Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 22 eligible frames\n2026-05-27T19:36:47.000392Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.6MB → 0.4MB (6.0x), 10 JPEGs deleted\n2026-05-27T19:36:47.761647Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.1MB → 0.3MB (6.3x), 10 JPEGs deleted\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T19:37:22.983307Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T19:39:23.310196Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T19:41:23.699761Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks\n2026-05-27T19:41:48.301565Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 18 eligible frames\n2026-05-27T19:41:49.105007Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 2.1MB → 0.4MB (4.8x), 8 JPEGs deleted\n2026-05-27T19:41:49.844943Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 1.7MB → 0.3MB (5.0x), 8 JPEGs deleted\n2026-05-27T19:46:53.070295Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=2 elapsed=3.173894667s\n2026-05-27T19:46:53.071008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T20:01:57.477900Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=4.076398417s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T20:16:59.250820Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.474732166s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n2026-05-27T20:22:00.751858Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.487661583s\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T20:24:09.994516Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-27T20:24:10.513707Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-27T20:24:10.515471Z INFO screenpipe_engine::event_driven_capture: monitor 1: exiting pause state, capture resumes\n2026-05-27T20:24:10.520220Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-05-27T20:24:10.520332Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)\n2026-05-27T20:24:12.791928Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart\n2026-05-27T20:24:12.792021Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)\n2026-05-27T20:24:13.540567Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-27T20:24:13.540645Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)\n2026-05-27T20:24:13.540725Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-27T20:24:14.319586Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-27T20:24:15.301552Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2949 row_id=79104 frame_id=78877\n2026-05-27T20:24:15.303852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2950 row_id=79105 frame_id=78877\n2026-05-27T20:24:15.304917Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=1 total_pairs=2949 total_evicted=2079 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=23\n2026-05-27T20:24:15.591192Z WARN screenpipe_engine::resource_monitor: PostHog request timed out\n2026-05-27T20:24:16.268149Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.1ms elapsed (expected 5.3ms) → inserting 81.8ms silence (7852 samples)\n2026-05-27T20:24:18.407919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2951 row_id=79106 frame_id=78917\n2026-05-27T20:24:18.530701Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2952 row_id=79107 frame_id=78917\n2026-05-27T20:24:18.910852Z WARN sqlx::query: summary=\"SELECT DISTINCT app_name, window_name, …\" db.statement=\"\\n\\nSELECT\\n DISTINCT app_name,\\n window_name,\\n browser_url\\nFROM\\n frames\\nWHERE\\n timestamp > datetime('now', '-30 seconds')\\n AND app_name IS NOT NULL\\n AND window_name IS NOT NULL\\n\" rows_affected=0 rows_returned=268 elapsed=2.974554041s\n2026-05-27T20:24:32.364957Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78918 paired=2 still_pending=0\n2026-05-27T20:24:33.201260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78919 paired=2 still_pending=0\n2026-05-27T20:24:37.724508Z INFO screenpipe_engine::event_driven_capture: monitor 2: exiting pause state, capture resumes\n2026-05-27T20:24:38.732543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78920 paired=2 still_pending=0\n2026-05-27T20:24:40.714895Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-27T20:24:41.061484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78921 paired=1 still_pending=0\n2026-05-27T20:24:51.979910Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78923 paired=1 still_pending=0\n2026-05-27T20:24:54.461251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78926 paired=1 still_pending=0\n2026-05-27T20:25:08.545615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78928 paired=1 still_pending=0\n2026-05-27T20:25:16.197209Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=2961 total_evicted=2080 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-27T20:25:16.197432Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78930 paired=1 still_pending=0\n2026-05-27T20:25:22.213582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78934 paired=1 still_pending=0\n2026-05-27T20:25:24.046960Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78937 paired=1 still_pending=0\n2026-05-27T20:25:25.114376Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)\n2026-05-27T20:25:25.194429Z INFO screenpipe_engine::event_driven_capture: monitor 2: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream\n2026-05-27T20:25:25.208753Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2\n2026-05-27T20:25:25.256695Z INFO screenpipe_engine::event_driven_capture: monitor 1: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream\n2026-05-27T20:25:25.258505Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-27T20:25:43.969432Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-27T20:25:46.039629Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=3 total_pairs=2964 total_evicted=2082 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-27T20:26:21.041596Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=2964 total_evicted=2083 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-27T20:26:26.041344Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=0 total_pairs=2964 total_evicted=2085 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-27T20:27:04.879948Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=4.114801083s\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T20:32:09.417429Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=4.524074166s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T20:35:24.711589Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks\n2026-05-27T20:37:09.552031Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 22 eligible frames\n2026-05-27T20:37:10.445486Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 2.1MB → 0.7MB (3.1x), 8 JPEGs deleted\n2026-05-27T20:37:11.757146Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.1MB → 1.0MB (2.0x), 14 JPEGs deleted\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T20:42:11.877362Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames\n2026-05-27T20:47:13.792842Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=0 elapsed=1.903846458s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T20:57:15.516997Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.576325208s\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T21:02:18.761759Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=3.232037959s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T21:17:24.503646Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=4.601511166s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T21:32:28.310389Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=3.630360916s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-27T21:47:31.996254Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=3.338638583s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n2026-05-27T21:55:45.830353Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: soundcore AeroClip (input)\n2026-05-27T21:55:45.901607Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-27T21:55:45.902520Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: soundcore AeroClip (input)\n2026-05-27T21:55:45.902724Z INFO screenpipe_audio::core::run_record_and_transcribe: stopped recording for MacBook Pro Microphone (input)\n2026-05-27T21:55:46.158614Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-27T21:55:46.158649Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for soundcore AeroClip (input)\nwhisper_backend_init_gpu: device 0: Metal (type: 1)\nwhisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)\nwhisper_backend_init_gpu: using Metal backend\nggml_metal_init: allocating\nggml_metal_init: found device: Apple M1\nggml_metal_init: picking default device: Apple M1\nggml_metal_init: use fusion = true\nggml_metal_init: use concurrency = true\nggml_metal_init: use graph optimize = true\nwhisper_backend_init: using BLAS backend\nwhisper_init_state: kv self size = 3.15 MB\nwhisper_init_state: kv cross size = 9.44 MB\nwhisper_init_state: kv pad size = 2.36 MB\nwhisper_init_state: compute buffer (conv) = 14.17 MB\nwhisper_init_state: compute buffer (encode) = 65.96 MB\nwhisper_init_state: compute buffer (cross) = 8.50 MB\nwhisper_init_state: compute buffer (decode) = 96.83 MB\nggml_metal_free: deallocating\n2026-05-27T21:57:25.640644Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks\n2026-05-27T21:57:34.030716Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-27T21:57:34.042796Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-27T21:57:34.143625Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-27T21:57:34.143687Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: MacBook Pro Microphone (input)\n2026-05-27T21:57:34.143727Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-27T21:57:34.143756Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-27T21:57:34.143884Z INFO screenpipe_audio::core::run_record_and_transcribe: stopped recording for soundcore AeroClip (input) (disconnected)\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-27T22:48:34.635100Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: soundcore AeroClip (input)\n2026-05-27T22:48:34.636146Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input soundcore AeroClip (input): device soundcore AeroClip (input) not found (will back off)\n2026-05-27T22:48:34.642564Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:34.642595Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 1): device soundcore AeroClip (input) not found\n2026-05-27T22:48:34.642668Z INFO screenpipe_audio::core::run_record_and_transcribe: stopped recording for MacBook Pro Microphone (input)\n2026-05-27T22:48:36.647065Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 2), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:36.647183Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 2): device soundcore AeroClip (input) not found\n2026-05-27T22:48:38.653358Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 3), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:38.653822Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 3): device soundcore AeroClip (input) not found\n2026-05-27T22:48:40.658354Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 4), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:40.658421Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 4): device soundcore AeroClip (input) not found\n2026-05-27T22:48:42.665222Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 5), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:42.665497Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 5): device soundcore AeroClip (input) not found\n2026-05-27T22:48:44.669884Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-27T22:48:44.786029Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-27T22:48:44.786103Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: MacBook Pro Microphone (input)\n2026-05-27T22:48:44.786133Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-27T22:48:44.786141Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-27T22:48:46.789686Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: soundcore AeroClip (input)\n2026-05-27T22:48:46.789751Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input soundcore AeroClip (input): device soundcore AeroClip (input) not found (will back off)\n2026-05-27T22:48:46.790685Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:46.790699Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 1): device soundcore AeroClip (input) not found\n2026-05-27T22:48:46.791974Z INFO screenpipe_audio::core::run_record_and_transcribe: stopped recording for MacBook Pro Microphone (input)\n2026-05-27T22:48:48.793753Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 2), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:48.793807Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 2): device soundcore AeroClip (input) not found\n2026-05-27T22:48:50.798231Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 3), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:50.798795Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 3): device soundcore AeroClip (input) not found\n2026-05-27T22:48:52.803326Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 4), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:52.803454Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 4): device soundcore AeroClip (input) not found\n2026-05-27T22:48:54.807477Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 5), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:54.807567Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 5): device soundcore AeroClip (input) not found\n2026-05-27T22:48:57.175193Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 6), starting default: soundcore AeroClip (input)\n2026-05-27T22:48:57.244889Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-27T22:48:57.244998Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=soundcore AeroClip (input)\n2026-05-27T22:48:57.522208Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-27T22:48:57.522248Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for soundcore AeroClip (input)\n2026-05-27T22:49:16.793234Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-27T22:49:17.553681Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-27T22:49:17.664685Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-27T22:49:17.664775Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: MacBook Pro Microphone (input)\n2026-05-27T22:49:17.664819Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-27T22:49:17.664829Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)\n2026-05-27T22:49:17.664811Z INFO screenpipe_audio::core::run_record_and_transcribe: stopped recording for soundcore AeroClip (input) (disconnected)\n2026-05-28T02:31:30.508579Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=0 elapsed=4.653073083s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-28T08:15:03.094737Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=7.84128425s\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-28T08:44:16.189357Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: soundcore AeroClip (input)\n2026-05-28T08:44:16.189658Z ERROR screenpipe_audio::audio_manager::device_monitor: failed to start new default input soundcore AeroClip (input): device soundcore AeroClip (input) not found (will back off)\n2026-05-28T08:44:16.199532Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 1), starting default: soundcore AeroClip (input)\n2026-05-28T08:44:16.199598Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 1): device soundcore AeroClip (input) not found\n2026-05-28T08:44:17.192381Z INFO screenpipe_audio::core::run_record_and_transcribe: stopped recording for MacBook Pro Microphone (input)\n2026-05-28T08:44:18.203805Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 2), starting default: soundcore AeroClip (input)\n2026-05-28T08:44:18.203908Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 2): device soundcore AeroClip (input) not found\n2026-05-28T08:44:20.205527Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 3), starting default: soundcore AeroClip (input)\n2026-05-28T08:44:20.205588Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 3): device soundcore AeroClip (input) not found\n2026-05-28T08:44:22.207658Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 4), starting default: soundcore AeroClip (input)\n2026-05-28T08:44:22.207750Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 4): device soundcore AeroClip (input) not found\n2026-05-28T08:44:24.211921Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 5), starting default: soundcore AeroClip (input)\n2026-05-28T08:44:24.212042Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 5): device soundcore AeroClip (input) not found\n2026-05-28T08:44:26.215293Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 6), starting default: soundcore AeroClip (input)\n2026-05-28T08:44:26.215361Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 6): device soundcore AeroClip (input) not found\n2026-05-28T08:44:28.217134Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 7), starting default: soundcore AeroClip (input)\n2026-05-28T08:44:28.217329Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 7): device soundcore AeroClip (input) not found\n2026-05-28T08:44:30.219490Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 8), starting default: soundcore AeroClip (input)\n2026-05-28T08:44:30.219567Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] failed to start input device soundcore AeroClip (input) (attempt 8): device soundcore AeroClip (input) not found\n2026-05-28T08:44:32.553620Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] no input device running (attempt 9), starting default: soundcore AeroClip (input)\n2026-05-28T08:44:32.620520Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-28T08:44:32.621989Z INFO screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] input device restored, device=soundcore AeroClip (input)\n2026-05-28T08:44:32.877769Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-28T08:44:32.877802Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for soundcore AeroClip (input)\n2026-05-28T08:47:44.136444Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.063399167s\n\n update: screenpipe 0.3.350 available (you have 0.3.349)\n run: npx screenpipe@latest record\n\n2026-05-28T08:52:48.518279Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=0 elapsed=3.820762667s\n\n tip: get the screenpipe desktop app for the full experience\n https://screenpi.pe\n\n\n tip: wire screenpipe into claude with one command:\n claude mcp add screenpipe -- npx -y screenpipe-mcp\n then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity\n\n\n tip: install a starter bundle of pipes:\n npx screenpipe install https://screenpi.pe/start.json\n\n2026-05-28T09:07:52.050268Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=0 rows_returned=0 elapsed=1.489185709s\n\n tip: sign in for higher AI quotas + cloud sync:\n npx screenpipe login\n\n2026-05-28T09:08:08.119702Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)\n2026-05-28T09:08:08.176339Z INFO screenpipe_engine::event_driven_capture: monitor 1: exiting pause state, capture resumes\n2026-05-28T09:08:08.176824Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1\n2026-05-28T09:08:08.186764Z INFO screenpipe_engine::event_driven_capture: monitor 2: exiting pause state, capture resumes\n2026-05-28T09:08:08.412607Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for soundcore AeroClip (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)\n2026-05-28T09:08:08.420330Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: stream rebuild required after screen unlock for soundcore AeroClip (input) (recovery is automatic via device_monitor)\n2026-05-28T09:08:09.926328Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-28T09:08:10.186238Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: day rollover (147 -> 148), clearing cache\n2026-05-28T09:08:10.387792Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart\n2026-05-28T09:08:10.387908Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)\n2026-05-28T09:08:10.546781Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)\n2026-05-28T09:08:10.547324Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)\n2026-05-28T09:08:10.547418Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)\n2026-05-28T09:08:10.938445Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)\n2026-05-28T09:08:10.942838Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1\n2026-05-28T09:08:40.296109Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78941 paired=1 still_pending=0\n2026-05-28T09:08:40.310796Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2967 row_id=79123 frame_id=78941\n2026-05-28T09:08:40.315593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2968 row_id=79124 frame_id=78941\n2026-05-28T09:08:40.318810Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2969 row_id=79125 frame_id=78941\n2026-05-28T09:08:41.581360Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)\n2026-05-28T09:08:51.084384Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78945 paired=2 still_pending=0\n2026-05-28T09:08:55.533031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78947 paired=2 still_pending=0\n2026-05-28T09:08:57.644192Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78950 paired=2 still_pending=0\n2026-05-28T09:08:59.108461Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78951 paired=2 still_pending=0\n2026-05-28T09:08:59.729946Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78953 paired=2 still_pending=0\n2026-05-28T09:09:03.846516Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78954 paired=2 still_pending=0\n2026-05-28T09:09:21.114133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78957 paired=1 still_pending=0\n2026-05-28T09:09:31.452345Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78964 paired=1 still_pending=0\n2026-05-28T09:09:32.553205Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78966 paired=1 still_pending=0\n2026-05-28T09:09:34.640604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78967 paired=1 still_pending=0\n2026-05-28T09:09:36.432366Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78968 paired=1 still_pending=0\n2026-05-28T09:09:38.473354Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78969 paired=1 still_pending=0\n2026-05-28T09:09:39.989647Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78972 paired=1 still_pending=0\n2026-05-28T09:09:40.788422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78973 paired=1 still_pending=0\n2026-05-28T09:09:41.307183Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2990 row_id=79146 frame_id=78975\n2026-05-28T09:09:43.612864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2991 row_id=79147 frame_id=78976\n2026-05-28T09:09:44.586502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78978 paired=1 still_pending=0\n2026-05-28T09:09:45.800609Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78980 paired=1 still_pending=0\n2026-05-28T09:09:46.493375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78982 paired=1 still_pending=0\n2026-05-28T09:09:46.846987Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=2993 total_evicted=2086 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:09:47.913078Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78984 paired=1 still_pending=0\n2026-05-28T09:09:50.482165Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78986 paired=1 still_pending=0\n2026-05-28T09:09:53.707555Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78988 paired=1 still_pending=0\n2026-05-28T09:09:55.560706Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78990 paired=1 still_pending=0\n2026-05-28T09:09:57.845737Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78992 paired=1 still_pending=0\n2026-05-28T09:10:17.861284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78994 paired=1 still_pending=0\n2026-05-28T09:10:32.993593Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78997 paired=1 still_pending=0\n2026-05-28T09:10:33.009262Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=3000 total_evicted=2087 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:10:37.043776Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79002 paired=1 still_pending=0\n2026-05-28T09:10:37.840392Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79005 paired=1 still_pending=0\n2026-05-28T09:10:42.196949Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=3004 row_id=79160 frame_id=79007\n2026-05-28T09:10:42.199682Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=14 total_pairs=3003 total_evicted=2091 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:10:42.795923Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79009 paired=1 still_pending=0\n2026-05-28T09:10:46.953590Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=3006 row_id=79162 frame_id=79011\n2026-05-28T09:10:46.954898Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=11 total_pairs=3005 total_evicted=2095 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:10:48.362093Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79013 paired=1 still_pending=0\n2026-05-28T09:10:56.884021Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=9 total_pairs=3006 total_evicted=2099 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:10:56.885050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79015 paired=1 still_pending=0\n2026-05-28T09:10:58.261886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79017 paired=1 still_pending=0\n2026-05-28T09:11:02.111404Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=3008 total_evicted=2100 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:11:02.111854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79019 paired=1 still_pending=0\n2026-05-28T09:11:02.826906Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79021 paired=1 still_pending=0\n2026-05-28T09:11:04.062144Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=3012 row_id=79168 frame_id=79023\n2026-05-28T09:11:05.924711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79025 paired=1 still_pending=0\n2026-05-28T09:11:07.187098Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79028 paired=1 still_pending=0\n2026-05-28T09:11:07.189823Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=3015 row_id=79171 frame_id=79028\n2026-05-28T09:11:34.756896Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=14 total_pairs=3014 total_evicted=2102 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:11:34.757271Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79030 paired=2 still_pending=0\n2026-05-28T09:11:52.540266Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=6 pending_events=0 pending_frames=9 total_pairs=3016 total_evicted=2108 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:11:52.540571Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79033 paired=2 still_pending=0\n2026-05-28T09:11:56.518983Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79035 paired=1 still_pending=0\n2026-05-28T09:11:56.522479Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79035 paired=1 still_pending=0\n2026-05-28T09:12:01.139928Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=9 total_pairs=3020 total_evicted=2110 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:12:01.140517Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79038 paired=1 still_pending=0\n2026-05-28T09:12:01.143273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79038 paired=1 still_pending=0\n2026-05-28T09:12:02.902956Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79040 paired=1 still_pending=0\n2026-05-28T09:12:02.906690Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=1 pending_frames=8 total_pairs=3023 total_evicted=2112 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:12:02.906783Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79040 paired=1 still_pending=0\n2026-05-28T09:12:04.386385Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79042 paired=1 still_pending=0\n2026-05-28T09:12:04.390007Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79042 paired=1 still_pending=0\n2026-05-28T09:12:05.418974Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79044 paired=1 still_pending=0\n2026-05-28T09:12:05.419636Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79044 paired=1 still_pending=0\n2026-05-28T09:12:10.602185Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=3030 row_id=79186 frame_id=79045\n2026-05-28T09:12:10.604126Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=8 total_pairs=3029 total_evicted=2116 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:12:10.604232Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=3031 row_id=79187 frame_id=79045\n2026-05-28T09:12:42.640100Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-28T09:12:42.798190Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-28T09:12:56.565661Z WARN sqlx::query: summary=\"SELECT id, snapshot_path, device_name, …\" db.statement=\"\\n\\nSELECT\\n id,\\n snapshot_path,\\n device_name,\\n timestamp\\nFROM\\n frames\\nWHERE\\n snapshot_path IS NOT NULL\\n AND timestamp < ?1\\nORDER BY\\n device_name,\\n timestamp ASC\\nLIMIT\\n 5000\\n\" rows_affected=1 rows_returned=0 elapsed=4.509644083s\n\n survey: tell us what you think of screenpipe:\n npx screenpipe survey\n https://screenpi.pe/survey\n\n2026-05-28T09:14:42.184381Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)\n2026-05-28T09:16:57.363283Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.\n2026-05-28T09:16:58.201543Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)\n2026-05-28T09:16:58.302319Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)\n2026-05-28T09:16:58.302792Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: MacBook Pro Microphone (input)\n2026-05-28T09:16:58.302846Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)\n2026-05-28T09:17:05.338725Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect\n2026-05-28T09:17:05.674454Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=8 pending_events=0 pending_frames=0 total_pairs=3030 total_evicted=2124 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29\n2026-05-28T09:17:05.674804Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79048 paired=1 still_pending=0\n2026-05-28T09:17:05.702190Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79048 paired=1 still_pending=0\n2026-05-28T09:17:07.482273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79068 paired=1 still_pending=0\n2026-05-28T09:17:07.494275Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79068 paired=1 still_pending=0\n2026-05-28T09:17:12.064908Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79070 paired=1 still_pending=0\n2026-05-28T09:17:15.825900Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=79073 paired=1 still_pending=0","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.004166667,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"DEV (docker)","depth":2,"bounds":{"left":0.140625,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.14479166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.28125,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.28541666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe\"","depth":2,"bounds":{"left":0.421875,"top":0.05888889,"width":0.140625,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.42604166,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"-zsh","depth":2,"bounds":{"left":0.5625,"top":0.05888889,"width":0.14027777,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.56666666,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-129-190:~ (nc)","depth":2,"bounds":{"left":0.7027778,"top":0.05888889,"width":0.14027777,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.70694447,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"ec2-user@ip-10-30-140-255:~ (-zsh)","depth":2,"bounds":{"left":0.84305555,"top":0.05888889,"width":0.14027777,"height":0.026666667},"on_screen":true,"role_description":"radio button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close Tab","depth":3,"bounds":{"left":0.8472222,"top":0.06333333,"width":0.011111111,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"⌥⌘1","depth":1,"bounds":{"left":0.9548611,"top":0.032222223,"width":0.03888889,"height":0.018888889},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"screenpipe\"","depth":1,"bounds":{"left":0.47083333,"top":0.033333335,"width":0.058333334,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
4431187490404488276
|
-4017823545833488528
|
click
|
accessibility
|
NULL
|
whisper_init_state: compute buffer (decode) = 96 whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T16:17:18.862798Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T16:19:19.239908Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks
2026-05-27T16:20:38.141382Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 13 eligible frames
2026-05-27T16:20:38.985648Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.2MB → 0.3MB (4.0x), 6 JPEGs deleted
2026-05-27T16:20:39.562443Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 5 frames, 0.8MB → 0.2MB (3.3x), 5 JPEGs deleted
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T16:25:42.551189Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=2 elapsed=2.977805916s
2026-05-27T16:25:42.551827Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T16:45:46.451561Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=0 elapsed=2.911930083s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T16:55:49.902531Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=2.797269291s
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T17:15:53.735688Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=2.870476166s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T17:25:58.860635Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.430256291s
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T17:31:03.317775Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.444169292s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T17:46:07.513696Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.367766333s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T17:56:09.253701Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.600230792s
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T18:01:12.354884Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.088745375s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T18:16:16.300726Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.66344025s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T18:31:21.331314Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.38569975s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T18:46:24.863785Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.35892025s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T18:56:27.848582Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.974494292s
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T19:01:32.268541Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.406029708s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T19:16:35.844538Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.34883125s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-27T19:19:10.131577Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-05-27T19:19:10.180371Z INFO screenpipe_engine::event_driven_capture: monitor 2: exiting pause state, capture resumes
2026-05-27T19:19:10.181279Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2
2026-05-27T19:19:11.096678Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for soundcore AeroClip (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)
2026-05-27T19:19:11.101280Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: stream rebuild required after screen unlock for soundcore AeroClip (input) (recovery is automatic via device_monitor)
2026-05-27T19:19:11.510267Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-27T19:19:13.088581Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart
2026-05-27T19:19:13.088739Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)
2026-05-27T19:19:13.275702Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-27T19:19:13.275838Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)
2026-05-27T19:19:13.275883Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-27T19:19:14.126542Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=0 rows_returned=266 elapsed=3.172579416s
2026-05-27T19:19:21.554805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78861 paired=2 still_pending=0
2026-05-27T19:19:21.737913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2937 row_id=79092 frame_id=78861
2026-05-27T19:19:21.738433Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2938 row_id=79093 frame_id=78861
2026-05-27T19:19:23.337089Z INFO screenpipe_engine::event_driven_capture: monitor 1: exiting pause state, capture resumes
2026-05-27T19:19:24.594015Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-27T19:19:35.103573Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78862 paired=2 still_pending=0
2026-05-27T19:19:39.820426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2941 row_id=79096 frame_id=78864
2026-05-27T19:19:39.821403Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2942 row_id=79097 frame_id=78864
2026-05-27T19:20:58.188372Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=0 total_pairs=2941 total_evicted=2076 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=23
2026-05-27T19:20:58.188693Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78866 paired=2 still_pending=0
2026-05-27T19:20:59.493220Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78875 paired=1 still_pending=0
2026-05-27T19:20:59.576243Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78875 paired=1 still_pending=2
2026-05-27T19:20:59.576633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2947 row_id=79102 frame_id=78875
2026-05-27T19:20:59.576940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2948 row_id=79103 frame_id=78875
2026-05-27T19:21:40.067488Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.214735041s
2026-05-27T19:21:46.775380Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T19:21:46.935956Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T19:21:47.218145Z INFO screenpipe_db::db: created new speaker id=85 (no existing match within threshold)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T19:23:46.150852Z INFO screenpipe_db::db: created new speaker id=86 (no existing match within threshold)
2026-05-27T19:26:46.924006Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T19:27:33.161935Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect
2026-05-27T19:27:33.162914Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)
2026-05-27T19:27:34.378046Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart
2026-05-27T19:27:34.378158Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)
2026-05-27T19:27:34.536448Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-27T19:27:34.536502Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)
2026-05-27T19:27:34.536538Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T19:28:14.094293Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect
2026-05-27T19:28:14.094516Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)
2026-05-27T19:28:16.063296Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart
2026-05-27T19:28:16.063534Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)
2026-05-27T19:28:16.182764Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-27T19:28:16.182890Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)
2026-05-27T19:28:16.182944Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-27T19:28:35.154474Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-27T19:28:36.204851Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-27T19:28:36.320413Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-27T19:28:36.320512Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: MacBook Pro Microphone (input)
2026-05-27T19:28:36.320550Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-27T19:28:42.802561Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-27T19:29:09.436430Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T19:29:09.624056Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:29:21.480217Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks
2026-05-27T19:29:39.329156Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T19:30:10.035504Z INFO screenpipe_db::db: created new speaker id=87 (no existing match within threshold)
2026-05-27T19:31:10.870402Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-05-27T19:31:10.901074Z INFO screenpipe_engine::event_driven_capture: monitor 1: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream
2026-05-27T19:31:10.911913Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1
2026-05-27T19:31:11.037656Z INFO screenpipe_engine::event_driven_capture: monitor 2: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream
2026-05-27T19:31:11.039089Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:31:21.901499Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-27T19:31:38.182794Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)
2026-05-27T19:31:44.036779Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=21 elapsed=3.834621166s
2026-05-27T19:31:44.036888Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 21 eligible frames
2026-05-27T19:31:44.962604Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.6MB → 0.6MB (4.2x), 10 JPEGs deleted
2026-05-27T19:31:46.049452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.3MB → 0.8MB (3.0x), 11 JPEGs deleted
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:33:22.255803Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:35:22.622050Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks
2026-05-27T19:36:46.180141Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 22 eligible frames
2026-05-27T19:36:47.000392Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.6MB → 0.4MB (6.0x), 10 JPEGs deleted
2026-05-27T19:36:47.761647Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.1MB → 0.3MB (6.3x), 10 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:37:22.983307Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:39:23.310196Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:41:23.699761Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks
2026-05-27T19:41:48.301565Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 18 eligible frames
2026-05-27T19:41:49.105007Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 2.1MB → 0.4MB (4.8x), 8 JPEGs deleted
2026-05-27T19:41:49.844943Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 1.7MB → 0.3MB (5.0x), 8 JPEGs deleted
2026-05-27T19:46:53.070295Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=2 elapsed=3.173894667s
2026-05-27T19:46:53.071008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T20:01:57.477900Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.076398417s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T20:16:59.250820Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.474732166s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-27T20:22:00.751858Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.487661583s
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T20:24:09.994516Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-05-27T20:24:10.513707Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)
2026-05-27T20:24:10.515471Z INFO screenpipe_engine::event_driven_capture: monitor 1: exiting pause state, capture resumes
2026-05-27T20:24:10.520220Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1
2026-05-27T20:24:10.520332Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)
2026-05-27T20:24:12.791928Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart
2026-05-27T20:24:12.792021Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)
2026-05-27T20:24:13.540567Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-27T20:24:13.540645Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)
2026-05-27T20:24:13.540725Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-27T20:24:14.319586Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-27T20:24:15.301552Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2949 row_id=79104 frame_id=78877
2026-05-27T20:24:15.303852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2950 row_id=79105 frame_id=78877
2026-05-27T20:24:15.304917Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=1 total_pairs=2949 total_evicted=2079 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=23
2026-05-27T20:24:15.591192Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-05-27T20:24:16.268149Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.1ms elapsed (expected 5.3ms) → inserting 81.8ms silence (7852 samples)
2026-05-27T20:24:18.407919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2951 row_id=79106 frame_id=78917
2026-05-27T20:24:18.530701Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2952 row_id=79107 frame_id=78917
2026-05-27T20:24:18.910852Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=0 rows_returned=268 elapsed=2.974554041s
2026-05-27T20:24:32.364957Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78918 paired=2 still_pending=0
2026-05-27T20:24:33.201260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78919 paired=2 still_pending=0
2026-05-27T20:24:37.724508Z INFO screenpipe_engine::event_driven_capture: monitor 2: exiting pause state, capture resumes
2026-05-27T20:24:38.732543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78920 paired=2 still_pending=0
2026-05-27T20:24:40.714895Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-27T20:24:41.061484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78921 paired=1 still_pending=0
2026-05-27T20:24:51.979910Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78923 paired=1 still_pending=0
2026-05-27T20:24:54.461251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78926 paired=1 still_pending=0
2026-05-27T20:25:08.545615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78928 paired=1 still_pending=0
2026-05-27T20:25:16.197209Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=2961 total_evicted=2080 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29
2026-05-27T20:25:16.197432Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78930 paired=1 still_pending=0
2026-05-27T20:25:22.213582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78934 paired=1 still_pending=0
2026-05-27T20:25:24.046960Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78937 paired=1 still_pending=0
2026-05-27T20:25:25.114376Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-05-27T20:25:25.194429Z INFO screenpipe_engine::event_driven_capture: monitor 2: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream
2026-05-27T20:25:25.208753Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-27T20:25:25.256695Z INFO screenpipe_engine::event_driven_capture: monitor 1: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream
2026-05-27T20:25:25.258505Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1
2026-05-27T20:25:43.969432Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)
2026-05-27T20:25:46.039629Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=3 total_pairs=2964 total_evicted=2082 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29
2026-05-27T20:26:21.041596Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=2964 total_evicted=2083 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29
2026-05-27T20:26:26.041344Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=0 total_pairs=2964 total_evicted=2085 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29
2026-05-27T20:27:04.879948Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.114801083s
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T20:32:09.417429Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.524074166s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T20:35:24.711589Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-27T20:37:09.552031Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 22 eligible frames
2026-05-27T20:37:10.445486Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 2.1MB → 0.7MB (3.1x), 8 JPEGs deleted
2026-05-27T20:37:11.757146Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.1MB → 1.0MB (2.0x), 14 JPEGs deleted
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T20:42:11.877362Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
2026-05-27T20:47:13.792842Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=0 elapsed=1.903846458s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T20:57:15.516997Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.576325208s
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T21:02:18.761759Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.232037959s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T21:17:24.503646Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.601511166s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T21:32:28.310389Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.630360916s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T21:47:31.996254Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.338638583s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T21:55:45.830353Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: soundcore AeroClip (input)
2026-05-27T21:55:45.901607Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-27T21:55:45.902520Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: soundcore AeroClip (input)
2026-05-27T21:55:45.902724Z INFO screenpipe_audio::core::run_record_and_transcribe: stopped recording for MacBook Pro Microphone (input)
2026-05-27T21:55:46.158614Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-27T21:55:46.158649Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for soundcore AeroClip (input)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T21:57:25.640644Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks
2026-05-27T21:57:34.030716Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-27T21:57:3...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
84099
|
2901
|
3
|
2026-05-28T11:28:36.559842+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-28/1779 /Users/lukas/.screenpipe/data/data/2026-05-28/1779967716559_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplabl100% (<478• Thu 28 May 14:28:36••DOCKER (-zsh)881DEV (-zsh)О ₴2-zsh#83screenpipe"T81DOCKERt1DOCKER (-zsh)docker_lamp_12026-05-28 09:13:57 Running ['artisan'jiminny:transcription:retry-failed] Nofailed transcriptionsfound.docker_lamp_11 8 Starting HubSpot journal polling service...docker_lamp_120S DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-failed > '/proc/1/fd/1'2>&1docker_lamp_12026-05-28 09:14:18 Running ['artisan'crm: reset-governor]21s DONEO &4-zsh85ec2-user@ip-10-30-1...O ₴6ec2-user@ip-10-30-140-...$7PROD (ssh)Run'do-release-upgrade' to upgrade to it.PRODdocker_lamp_1 | , '/usr/local/bin/php' 'artisan'crm:reset-governor › '/proc/1/fd/1' 2>&1*** System restart required ***Last login: Wed May 27 06:47:29 2026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X L3 EU (ssh)Enable ESM Apps to receive additional future security updates.See [URL_WITH_CREDENTIALS] |T4 STAGE (-zsh)*** System restart required ***Last login: Mon May 18 06:46:53 2026 from 212.5.153.87ion: $ client_loop: send disconnect: Broken pipelukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~$ 0X Y5QA (-zsh)STAGE~$0X 16 FE (-zsh)lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lFRONTENDX T7 EXT (-zsh)lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ [What's next:Debug this Compose error with Gordon » docker ai "help me fix this compose error"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop) $ actEXTENSION...
|
NULL
|
6333471073723492562
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplabl100% (<478• Thu 28 May 14:28:36••DOCKER (-zsh)881DEV (-zsh)О ₴2-zsh#83screenpipe"T81DOCKERt1DOCKER (-zsh)docker_lamp_12026-05-28 09:13:57 Running ['artisan'jiminny:transcription:retry-failed] Nofailed transcriptionsfound.docker_lamp_11 8 Starting HubSpot journal polling service...docker_lamp_120S DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-failed > '/proc/1/fd/1'2>&1docker_lamp_12026-05-28 09:14:18 Running ['artisan'crm: reset-governor]21s DONEO &4-zsh85ec2-user@ip-10-30-1...O ₴6ec2-user@ip-10-30-140-...$7PROD (ssh)Run'do-release-upgrade' to upgrade to it.PRODdocker_lamp_1 | , '/usr/local/bin/php' 'artisan'crm:reset-governor › '/proc/1/fd/1' 2>&1*** System restart required ***Last login: Wed May 27 06:47:29 2026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X L3 EU (ssh)Enable ESM Apps to receive additional future security updates.See [URL_WITH_CREDENTIALS] |T4 STAGE (-zsh)*** System restart required ***Last login: Mon May 18 06:46:53 2026 from 212.5.153.87ion: $ client_loop: send disconnect: Broken pipelukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~$ 0X Y5QA (-zsh)STAGE~$0X 16 FE (-zsh)lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lFRONTENDX T7 EXT (-zsh)lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ [What's next:Debug this Compose error with Gordon » docker ai "help me fix this compose error"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop) $ actEXTENSION...
|
84096
|
NULL
|
NULL
|
NULL
|
|
86036
|
2953
|
9
|
2026-05-28T13:40:03.932758+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-28/1779 /Users/lukas/.screenpipe/data/data/2026-05-28/1779975603932_m2.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
• 0Pipelines - jiminny/app(JY-20613) Allow owner • 0Pipelines - jiminny/app(JY-20613) Allow owner's role to bYyorokFix orcion key wiolntIlluminate\Database|QueryEx XO JY-20983 fix deleted obiect imolooin t SiastorcaA Foed -liminny - SentryMi inbox (1734) = Iitns.kownlik Slim(JY-20979) Resolve PHP 8.5.5 degpihttoem Son dthloy - Pintormtranscript ss issue8 JiminnySOD:68811 (0n demandll Transa Sona Subramanian at 27/05/202€8 Ilivana Netsova at 27/05/2026, 18)08mmychuy.oss0cs/o37o302oootemmlonmcheorooucuoroIssues / APP-159Eo goseosarhouts duuocheleecooe csocdCrasnoo in noneado: venood aovel mmmeworo sic/tumrate /oscore/Cori coon mhieoso an mominate loacorse Cotw:/Mooclacuwily.ono.cre1cn Jiminny.moocotacavitcuco.kexcomtrctmost Always ser contactd when avariabe, reaaroless of accountd statusif (Sthis->contactid aua null 8& Scontact) ‹sthis->contact 1d = Scontact->10*Sthis->save):} elseif (Sstrategy •= UpdateCrnDataßyStrategy::Account && Sthis->account_id a= null) ‹I Also update the parent activity if required, checking we don't create a mixed lead/account record.2146oinasoraedodo nuaa1f (Sthis-»stage && Sthis-›stage-›getType) ** Stage::TYPE_LEAD) <Sthis-›stage_1d = null:recordsww./Cwwwc/erm/crmAat.itChrin/Ah4.90TiMiAAC/ASNNOIENC/AA.ANCor.Neindnthermootdsso/noos//crm/wschactwiwermos.a.ohorstn.sim.innv/#00s.crmwa.ch4c.wermostcatwiminny wooscrmiwatchic.iwermostewhtnecu.onCalad from:/vendor/laravel/framework/src/llluminate/Database/Cd00/noos/crmwchac.wiwcrmoo.a.ohororofn.diminnv0orcrm.schctwcrmoamhanolcCalled from: /vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36 in Illuminate\Container\BoundMethod::(closure/luminate\Container1BoundMethod=call):35/app/Jobs/Middieware/HandleHubspotRateLimit.php-23 in Jiminny1Jobs|Middieware\HandleHubspotRateLimit::handleCotadfrom.Wordor/inravol/rmounrk/erc/iiluminato/Binatns/plnathsnhnht0ca.tliminatalpinalinalpinat.non/aineurosfeboc.ch-carry0:194):195)/app/Queue/Worker/Worker.php:71 in Jlminmy\Queue\Worker\Worker-processCtad from:Wondor/aravol/framwwork/erc/illluminata/dusr/iortw.nho.476.tn.Buminatol@nanalworkorarinbohonnsyaontinnTradd Proviow.PP Error - SQLSTATE(23000): Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails Gjiminny'.'activities*. CONSTRAINT "activities_contact__id.fonsLETOr - SOI STALAY6000kintoorihy constnlinh violnhiom14sy Cunnnt non on unthton chid romn torring kuy constnin bis tim nay àộGhHN GCONK RAINH nhiviting contact -id to:2e Error - SOLSTATE(23000): Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails Gliminny'.'activities". CONSTRAINT "activities-contact id..forR Error -= SOLSTATE(23000): Intearity constraint wolntico: 1452 Cronot add or updnte a child rownn forcion kow constraint faits Gliminov" nctbaties", CONSTRAINT "netivitioscontactjalforError - SOLSTATE(23000): Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (jiminny"."activities*. CONSTRAINT "activities_contact_id_for40ш GStack Trace Traoe130yConteaShow 7 more framesIn App100% LX• Thu 28 May 16:40:03Ack SeersMarked as Ongoingautomationlly by Sentr7 months.uoAscianah7 months agby Nikolay Nikolov to themselvesView 2 morev People(Lx) participatinoNYNiS +4 viewedCimilr eeunMerged IssuesVievIn AppIn AcoIn AcdIn ApoChawyA mard trmndIn AppShaw 17 mard tromodViay Sull Trach...
|
NULL
|
-5883794279982451671
|
NULL
|
click
|
ocr
|
NULL
|
• 0Pipelines - jiminny/app(JY-20613) Allow owner • 0Pipelines - jiminny/app(JY-20613) Allow owner's role to bYyorokFix orcion key wiolntIlluminate\Database|QueryEx XO JY-20983 fix deleted obiect imolooin t SiastorcaA Foed -liminny - SentryMi inbox (1734) = Iitns.kownlik Slim(JY-20979) Resolve PHP 8.5.5 degpihttoem Son dthloy - Pintormtranscript ss issue8 JiminnySOD:68811 (0n demandll Transa Sona Subramanian at 27/05/202€8 Ilivana Netsova at 27/05/2026, 18)08mmychuy.oss0cs/o37o302oootemmlonmcheorooucuoroIssues / APP-159Eo goseosarhouts duuocheleecooe csocdCrasnoo in noneado: venood aovel mmmeworo sic/tumrate /oscore/Cori coon mhieoso an mominate loacorse Cotw:/Mooclacuwily.ono.cre1cn Jiminny.moocotacavitcuco.kexcomtrctmost Always ser contactd when avariabe, reaaroless of accountd statusif (Sthis->contactid aua null 8& Scontact) ‹sthis->contact 1d = Scontact->10*Sthis->save):} elseif (Sstrategy •= UpdateCrnDataßyStrategy::Account && Sthis->account_id a= null) ‹I Also update the parent activity if required, checking we don't create a mixed lead/account record.2146oinasoraedodo nuaa1f (Sthis-»stage && Sthis-›stage-›getType) ** Stage::TYPE_LEAD) <Sthis-›stage_1d = null:recordsww./Cwwwc/erm/crmAat.itChrin/Ah4.90TiMiAAC/ASNNOIENC/AA.ANCor.Neindnthermootdsso/noos//crm/wschactwiwermos.a.ohorstn.sim.innv/#00s.crmwa.ch4c.wermostcatwiminny wooscrmiwatchic.iwermostewhtnecu.onCalad from:/vendor/laravel/framework/src/llluminate/Database/Cd00/noos/crmwchac.wiwcrmoo.a.ohororofn.diminnv0orcrm.schctwcrmoamhanolcCalled from: /vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36 in Illuminate\Container\BoundMethod::(closure/luminate\Container1BoundMethod=call):35/app/Jobs/Middieware/HandleHubspotRateLimit.php-23 in Jiminny1Jobs|Middieware\HandleHubspotRateLimit::handleCotadfrom.Wordor/inravol/rmounrk/erc/iiluminato/Binatns/plnathsnhnht0ca.tliminatalpinalinalpinat.non/aineurosfeboc.ch-carry0:194):195)/app/Queue/Worker/Worker.php:71 in Jlminmy\Queue\Worker\Worker-processCtad from:Wondor/aravol/framwwork/erc/illluminata/dusr/iortw.nho.476.tn.Buminatol@nanalworkorarinbohonnsyaontinnTradd Proviow.PP Error - SQLSTATE(23000): Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails Gjiminny'.'activities*. CONSTRAINT "activities_contact__id.fonsLETOr - SOI STALAY6000kintoorihy constnlinh violnhiom14sy Cunnnt non on unthton chid romn torring kuy constnin bis tim nay àộGhHN GCONK RAINH nhiviting contact -id to:2e Error - SOLSTATE(23000): Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails Gliminny'.'activities". CONSTRAINT "activities-contact id..forR Error -= SOLSTATE(23000): Intearity constraint wolntico: 1452 Cronot add or updnte a child rownn forcion kow constraint faits Gliminov" nctbaties", CONSTRAINT "netivitioscontactjalforError - SOLSTATE(23000): Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (jiminny"."activities*. CONSTRAINT "activities_contact_id_for40ш GStack Trace Traoe130yConteaShow 7 more framesIn App100% LX• Thu 28 May 16:40:03Ack SeersMarked as Ongoingautomationlly by Sentr7 months.uoAscianah7 months agby Nikolay Nikolov to themselvesView 2 morev People(Lx) participatinoNYNiS +4 viewedCimilr eeunMerged IssuesVievIn AppIn AcoIn AcdIn ApoChawyA mard trmndIn AppShaw 17 mard tromodViay Sull Trach...
|
86034
|
NULL
|
NULL
|
NULL
|
|
86038
|
2952
|
4
|
2026-05-28T13:40:04.919141+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-28/1779 /Users/lukas/.screenpipe/data/data/2026-05-28/1779975604919_m1.jpg...
|
iTerm2
|
screenpipe"
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp‹ →0 lhlA100% ( 8• Thu 28 May 16:40:04T81screenpipe"DOCKER-₴81DEV (docker)₴2-zsh83screenpipe"*4-zshX5ec2-user@ip-10-30-129-…. 786ec2-user@ip-10-30-140-…..$72026-05-28T16:38:09.774116ZWARNsqlx:: query:summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement=""rows_affected-1rows_returned=1 elapsed=1.656920333s2026-05-28T16:38:16.8083272WARNscreenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing - these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate theresidual evicted=3 pending_events=0 pending_frames=0 total_pairs=6355 total_evicted-4766 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=292026-05-28T16:38:16.814943ZINFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=86014 paired=1 still_pending=22026-05-28116:38:29.0123372WARN sqlx::query:summary="SELECT id, file_path, timestamp.." db.statement="\n\nSELECT\nid,\nfile_path, \ntimestamp\nFR0M\naudio_chunks\nWHERE\ntranscription_status ='pending'\nAND transcription_attempts < ?4\n AND timestamp >= ?1\n AND timestamp <= ?2\n AND file_path NOT LIKE 'cloud://%'\nORDER BY\n timestampASC\nLIMIT\n?3\n"rows_affected=1rows_returned=5 elapsed-1.072886625swhisper_backend_init_gpu: device 0: Metal (type: 1)whisper_backend_init_gpu: foundwhisper_backend_init_gpu:GPU device 0: Metal (type: 1, cnt: 0)using Metal backendggml_metal_init: allocatingggml_metal_init: found device: Apple M1ggml_metal_init:picking default device: Apple M1ggml_metal_init: use fusion= trueggml_metal_init:use concurrency= trueggml_metal_init: use graph optimize = truewhisper_backend_init: using BLAS backendwhisper_init_state: kv selfsize=3.15 MBwhisper_init_state: kv cross size =9.44 MBwhisper_init_state: kv padsize=2.36 MBwhisper_init_state: compute buffer (conv)=whisper_init_state: compute buffer (encode) =whisper_init_state: compute buffer (cross)=whisper_init_state: computebuffer (decode) =14.17 MB65.96 MB8.50MB96.83 MBggml_metal_free: deallocating2026-05-28T16:38:31.936666ZINFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame+events (events arrived first) frame_id=86020 paired-1 still_pending=02026-05-28T16:38:32.044736ZINFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame+events (events arrived first) frame_id=86020 paired-1 still_pending=02026-05-28T16:38:33.637616ZINFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame+events (events arrived first) frame_id=86023 paired-1 still_pending=02026-05-28716:38:35.8390142INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks2026-05-28T16:39:18.071668ZWARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing - these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=3 total_pairs=6359 total_evicted=4770 total_failed=0 dropped_drm-0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=292026-05-28T16:39:33.072118ZWARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing - these slippedpast every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=1 total_pairs=6359 total_evicted=4772 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=292026-05-28T16:39:38.072524ZWARN screenpipe_engine::frame_linker_actor:frame_linker:stale entries expiredwithout pairing - these slippedpasteveryinstrumenteddrop site(DRM/paused/lagged/capture_error); investigate the residual evicted-1 pending_events=0 pending_frames=0 total_pairs=6359total_evicted-4773 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=292026-05-28716:40:03.00651922026-05-28T16:40:03.152909ZINFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4782388952810313059, trigger=click)INFOscreenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=86034 paired-1 still_pending=02026-05-28T16:40:03.201882ZWARNscreenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 189.9ms elapsed (expected 5.3ms) • inserting184.6ms silence (17717 samples)...
|
NULL
|
-6580316277707107229
|
NULL
|
visual_change
|
ocr
|
NULL
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp‹ →0 lhlA100% ( 8• Thu 28 May 16:40:04T81screenpipe"DOCKER-₴81DEV (docker)₴2-zsh83screenpipe"*4-zshX5ec2-user@ip-10-30-129-…. 786ec2-user@ip-10-30-140-…..$72026-05-28T16:38:09.774116ZWARNsqlx:: query:summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement=""rows_affected-1rows_returned=1 elapsed=1.656920333s2026-05-28T16:38:16.8083272WARNscreenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing - these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate theresidual evicted=3 pending_events=0 pending_frames=0 total_pairs=6355 total_evicted-4766 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=292026-05-28T16:38:16.814943ZINFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=86014 paired=1 still_pending=22026-05-28116:38:29.0123372WARN sqlx::query:summary="SELECT id, file_path, timestamp.." db.statement="\n\nSELECT\nid,\nfile_path, \ntimestamp\nFR0M\naudio_chunks\nWHERE\ntranscription_status ='pending'\nAND transcription_attempts < ?4\n AND timestamp >= ?1\n AND timestamp <= ?2\n AND file_path NOT LIKE 'cloud://%'\nORDER BY\n timestampASC\nLIMIT\n?3\n"rows_affected=1rows_returned=5 elapsed-1.072886625swhisper_backend_init_gpu: device 0: Metal (type: 1)whisper_backend_init_gpu: foundwhisper_backend_init_gpu:GPU device 0: Metal (type: 1, cnt: 0)using Metal backendggml_metal_init: allocatingggml_metal_init: found device: Apple M1ggml_metal_init:picking default device: Apple M1ggml_metal_init: use fusion= trueggml_metal_init:use concurrency= trueggml_metal_init: use graph optimize = truewhisper_backend_init: using BLAS backendwhisper_init_state: kv selfsize=3.15 MBwhisper_init_state: kv cross size =9.44 MBwhisper_init_state: kv padsize=2.36 MBwhisper_init_state: compute buffer (conv)=whisper_init_state: compute buffer (encode) =whisper_init_state: compute buffer (cross)=whisper_init_state: computebuffer (decode) =14.17 MB65.96 MB8.50MB96.83 MBggml_metal_free: deallocating2026-05-28T16:38:31.936666ZINFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame+events (events arrived first) frame_id=86020 paired-1 still_pending=02026-05-28T16:38:32.044736ZINFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame+events (events arrived first) frame_id=86020 paired-1 still_pending=02026-05-28T16:38:33.637616ZINFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame+events (events arrived first) frame_id=86023 paired-1 still_pending=02026-05-28716:38:35.8390142INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks2026-05-28T16:39:18.071668ZWARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing - these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=3 total_pairs=6359 total_evicted=4770 total_failed=0 dropped_drm-0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=292026-05-28T16:39:33.072118ZWARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing - these slippedpast every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=1 total_pairs=6359 total_evicted=4772 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=292026-05-28T16:39:38.072524ZWARN screenpipe_engine::frame_linker_actor:frame_linker:stale entries expiredwithout pairing - these slippedpasteveryinstrumenteddrop site(DRM/paused/lagged/capture_error); investigate the residual evicted-1 pending_events=0 pending_frames=0 total_pairs=6359total_evicted-4773 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=292026-05-28716:40:03.00651922026-05-28T16:40:03.152909ZINFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4782388952810313059, trigger=click)INFOscreenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=86034 paired-1 still_pending=02026-05-28T16:40:03.201882ZWARNscreenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 189.9ms elapsed (expected 5.3ms) • inserting184.6ms silence (17717 samples)...
|
86035
|
NULL
|
NULL
|
NULL
|
|
26238
|
1090
|
0
|
2026-05-12T12:15:08.753290+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778588108753_m1.jpg...
|
Code
|
screenpipe_f — screenpipe [SSH: nas]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_f
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_f, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1
Implement and run pipe l…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports - 1 forwarded port
PORTS
1
Remote - SSH - Output
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 8766
1
Notifications
Sign In
Sign In
Plain Text
Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions
LF
UTF-8
Spaces: 4
Ln 1, Col 1
Info: Downloading VS Code Server...
Implement and run pipe logic...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⇧⌘E) - 1 unsaved file","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⌃⇧G) - 11 pending changes","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"11","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Run and Debug (⇧⌘D)","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X) - 2 require update, 1 requires restart","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Claude Code","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Containers","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"EXPLORER","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"EXPLORER","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"SCREENPIPE [SSH: NAS]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_f","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"OUTLINE","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"OUTLINE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"TIMELINE","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"TIMELINE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"app_settings.json, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync.sh, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_f, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync_updated.sh, preview, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"pipe.md, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":".env, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"","depth":28,"on_screen":true,"value":"","role_description":"editor","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":29,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Implement and run pipe l…, Editor Group 2","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"Problems (⇧⌘M)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PROBLEMS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Output (⇧⌘U)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"OUTPUT","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Debug Console (⇧⌘Y)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DEBUG CONSOLE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Terminal (⌃`)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"TERMINAL","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Ports - 1 forwarded port","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PORTS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXTextArea","text":"Remote - SSH - Output","depth":27,"on_screen":true,"role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 8766","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sign In","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Sign In","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Plain Text","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 4","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 1, Col 1","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Downloading VS Code Server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Implement and run pipe logic","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
-4483477567016365829
|
-8687032582834059456
|
visual_change
|
accessibility
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_f
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_f, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1
Implement and run pipe l…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports - 1 forwarded port
PORTS
1
Remote - SSH - Output
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 8766
1
Notifications
Sign In
Sign In
Plain Text
Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions
LF
UTF-8
Spaces: 4
Ln 1, Col 1
Info: Downloading VS Code Server...
Implement and run pipe logic...
|
26237
|
NULL
|
NULL
|
NULL
|
|
26239
|
1090
|
1
|
2026-05-12T12:15:11.829412+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778588111829_m1.jpg...
|
Code
|
screenpipe_f — screenpipe [SSH: nas]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_f
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_f, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1
Implement and run pipe l…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports - 1 forwarded port
PORTS
1
Remote - SSH - Output
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 8766
1
Notifications
Sign In
Sign In
Plain Text
Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions
LF
UTF-8
Spaces: 4
Ln 1, Col 1
Info: Downloading VS Code Server...
Implement and run pipe logic
Session history
New session
Message actions
main.py
main.py
lets implement logic with pipes. how can I run it?
Thinking
Thinking...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⇧⌘E) - 1 unsaved file","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⌃⇧G) - 11 pending changes","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"11","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Run and Debug (⇧⌘D)","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X) - 2 require update, 1 requires restart","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Claude Code","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Containers","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"EXPLORER","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"EXPLORER","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"SCREENPIPE [SSH: NAS]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_f","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"OUTLINE","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"OUTLINE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"TIMELINE","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"TIMELINE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"app_settings.json, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync.sh, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_f, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync_updated.sh, preview, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"pipe.md, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":".env, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"","depth":28,"on_screen":true,"value":"","role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":29,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Implement and run pipe l…, Editor Group 2","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"Problems (⇧⌘M)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PROBLEMS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Output (⇧⌘U)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"OUTPUT","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Debug Console (⇧⌘Y)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DEBUG CONSOLE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Terminal (⌃`)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"TERMINAL","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Ports - 1 forwarded port","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PORTS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXTextArea","text":"Remote - SSH - Output","depth":27,"on_screen":true,"role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 8766","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sign In","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Sign In","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Plain Text","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 4","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 1, Col 1","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Downloading VS Code Server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Implement and run pipe logic","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Session history","depth":19,"on_screen":true,"help_text":"Session history","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New session","depth":19,"on_screen":true,"help_text":"New session","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Message actions","depth":24,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"main.py","depth":23,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lets implement logic with pipes. how can I run it?","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"}]...
|
7904381947559047112
|
383743732726273878
|
click
|
accessibility
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_f
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_f, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1
Implement and run pipe l…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports - 1 forwarded port
PORTS
1
Remote - SSH - Output
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 8766
1
Notifications
Sign In
Sign In
Plain Text
Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions
LF
UTF-8
Spaces: 4
Ln 1, Col 1
Info: Downloading VS Code Server...
Implement and run pipe logic
Session history
New session
Message actions
main.py
main.py
lets implement logic with pipes. how can I run it?
Thinking
Thinking...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
26240
|
1091
|
0
|
2026-05-12T12:15:11.840769+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778588111840_m2.jpg...
|
Code
|
screenpipe_f — screenpipe [SSH: nas]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_f
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_f, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1
Implement and run pipe l…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports - 1 forwarded port
PORTS
1
Remote - SSH - Output
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 8766
1
Notifications
Sign In
Sign In
Plain Text
Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions
LF
UTF-8
Spaces: 4
Ln 1, Col 1
Info: Downloading VS Code Server...
Implement and run pipe logic
Session history
New session
Message actions
main.py
main.py
lets implement logic with pipes. how can I run it?
Thinking
Thinking
Let me look at the current project structure to understand what's already in place.
Bash
List project files
IN
find /volume1/screenpipe -type f | head -50 && echo "---" && ls /volume1/screenpipe
Copy code to clipboard
OUT
/volume1/screenpipe/.DS_Store
/volume1/screenpipe/screenpipe.db
/volume1/screenpipe/screenpipe_sync.sh
/volume1/screenpipe/app_settings.json
/volume1/screenpipe/.gitignore
/volume1/screenpipe/archive.db
/volume1/screenpipe/db.sqlite
/volume1/screenpipe/db.sqlite-wal
/volume1/screenpipe/db.sqlite-shm
/volume1/screenpipe/#recycle/desktop.ini
/volume1/screenpipe/#recycle/db.sqlite
/volume1/screenpipe/#recycle/Copy #1 of db.sqlite
/volume1/screenpipe/#recycle/.DS_Store
/volume1/screenpipe/#recycle/Copy #2 of db.sqlite
/volume1/screenpipe/#recycle/archive.db
/volume1/screenpipe/#recycle/Copy #1 of archive.db
/volume1/screenpipe/#recycle/Copy #2 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of archive.db
/volume1/screenpipe/#recycle/Copy #4 of archive.db
/volume1/screenpipe/#recycle/Copy #5 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of db.sqlite
/volume1/screenpipe/#recycle/Copy #4 of db.sqlite
/volume1/screenpipe/#recycle/Copy #6 of archive.db
/volume1/screenpipe/#recycle/test.txt
/volume1/screenpipe/#recycle/Copy #7 of archive.db
/volume1/screenpipe/#recycle/Copy #8 of archive.db
/volume1/screenpipe/#recycle/archive.db-journal
/volume1/screenpipe/#recycle/Copy #1 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #2 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #3 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #4 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #6 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #7 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of db.sqlite
/volume1/screenpipe/pipes/.DS_Store
/volume1/screenpipe/app/.env
/volume1/screenpipe/app/cli.py
/volume1/screenpipe/app/.DS_Store
/volume1/screenpipe/app/db.py
/volume1/screenpipe/app/docker-compose.yml
/volume1/screenpipe/app/main.py
/volume1/screenpipe/app/requirements.txt
/volume1/screenpipe/app/Dockerfile
/volume1/screenpipe/data/.DS_Store
/volume1/screenpipe/.git/description
/volume1/screenpipe/.git/HEAD
/volume1/screenpipe/.git/index
/volume1/screenpipe/.git/COMMIT_EDITMSG
/volume1/screenpipe/#recycle/data/.DS_Store
---
app
app_settings.json
archive.db
data
db.sqlite
db.sqlite-shm
db.sqlite-wal
pipes
#recycle
screenpipe.db
screenpipe_sync.sh
Read
main.py
main.py
Bash
Check pipes directory and docker-compose
IN
ls /volume1/screenpipe/pipes/ && ls /volume1/screenpipe/app/ && cat /volume1/screenpipe/app/docker-compose.yml
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
cli.py
consumers
db.py
docker-compose.yml
Dockerfile
main.py
__pycache__
requirements.txt
static
services:
screenpipe-app:
build: .
container_name: screenpipe-app
restart: unless-stopped
ports:
- "8766:8000"
volumes:
- /volume1/screenpipe:/data
env_file:
- .env
environment:
TZ: Europe/Sofia
DB_PATH: /data/db.sqlite
sqlite-web-archive:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-archive
restart: unless-stopped
ports:
- "8767:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/archive.db"]
sqlite-web-live:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-live
restart: unless-stopped
ports:
- "8768:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/db.sqlite"]
Read
requirements.txt
requirements.txt
Bash
Inspect a pipe directory
IN
ls /volume1/screenpipe/pipes/day-recap/ && cat /volume1/screenpipe/pipes/day-recap/pipe.json 2>/dev/null || ls /volume1/screenpipe/pipes/day-recap/
Copy code to clipboard
OUT
pipe.md
pipe.md
Read
cli.py
cli.py
Bash
List all pipes and their contents
IN
ls /volume1/screenpipe/pipes/ && for d in /volume1/screenpipe/pipes/*/; do echo "=== $d ==="; ls "$d"; done
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
=== /volume1/screenpipe/pipes/ai-habits/ ===
pipe.md
=== /volume1/screenpipe/pipes/day-recap/ ===
pipe.md
=== /volume1/screenpipe/pipes/meeting-summary/ ===
pipe.md
=== /volume1/screenpipe/pipes/standup-update/ ===
pipe.md
=== /volume1/screenpipe/pipes/time-breakdown/ ===
pipe.md
=== /volume1/screenpipe/pipes/video-export/ ===
pipe.md
Bash
Read pipe markdown files
IN
cat /volume1/screenpipe/pipes/day-recap/pipe.md && echo "===" && cat /volume1/screenpipe/pipes/meeting-summary/pipe.md 2>/dev/null | head -50
Copy code to clipboard
OUT
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
===
---
schedule: manual
enabled: true
template: true
title: Meeting Summary
description: "Summarize meeting transcript with key takeaways and action items"
icon: "🤝"
featured: false
---
Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.
Read screenpipe skill first.
Use this exact format:
## Meeting Summary
One sentence: what this meeting was about.
## Key Takeaways
- Top 3-5 important points discussed
- Include who said what when relevant
## Action Items
- [ ] Task — assigned to whom, deadline if mentioned
- [ ] Task — assigned to whom
## Decisions Made
- List any decisions or agreements reached
## Open Questions
- Anything unresolved or needing follow-up
Keep it concise and actionable.
Thinking
Thinking
Bash
Read summary consumer
IN
ls /volume1/screenpipe/app/consumers/ && cat /volume1/screenpipe/app/consumers/summary.py
Copy code to clipboard
OUT
activity.py
audio.py
elements.py
__init__.py
interactions.py
ocr.py
__pycache__
report.py
summary.py
"""AI summary generator using Claude."""
import os
from datetime import date
from typing import Any
from consumers.activity import app_time, summary_stats, browser_urls, ui_event_summary
from consumers.ocr import deduplicated_text
from consumers.audio import formatted_transcript
SUMMARY_TYPES = {
"day_recap": {
"title": "Day Recap",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
## Audio/speech:
{audio}
Write a concise day recap using EXACTLY this format:
## Summary
One sentence: what I mainly worked on today.
## Accomplishments
- Top 3 things I finished, with approximate times
- Name specific apps, files, or projects
## Key Moments
- Important things seen or heard, with timestamps
## Unfinished Work
- What to continue tomorrow
## Patterns
- Apps used most, topics that came up repeatedly
Only report what you can verify from the data. End with:
**Next step:** [most important thing to continue]""",
},
"standup": {
"title": "Standup Update",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
## Audio/speech:
{audio}
Write a brief standup update:
**Yesterday:** What I worked on (2-3 bullets)
**Today:** What I plan to continue (1-2 bullets)
**Blockers:** Any issues observed (or "None")
Keep it under 150 words. Only report what's verifiable from the data.""",
},
"focus_time": {
"title": "Focus & Distraction Analysis",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
Analyze focus vs distraction patterns:
## Deep Work Periods
- When and how long were sustained focus sessions?
- What was being worked on?
## Distractions
- Which apps/sites were used recreationally?
- How much time was lost to context switching?
## Recommendations
- 2-3 concrete suggestions to improve focus tomorrow
Be specific with times and app names.""",
},
}
def _build_context(for_date: date) -> dict[str, str]:
apps = app_time(for_date)
app_lines = "\n".join(f"- {a['app_name']}: {a['minutes']} min" for a in apps[:20])
urls = browser_urls(for_date, limit=20)
url_lines = "\n".join(
f"- {u['browser_url'][:100]} ({u['minutes']} min)" for u in urls
)
ui_rows = ui_event_summary(for_date)
ui_lines = "\n".join(
f"- {r['app_name']}: {r['clicks']} clicks, {r['keystrokes']} keys, {r['switches']} switches"
for r in ui_rows[:15]
)
ocr_rows = deduplicated_text(for_date, chunk_minutes=5)
ocr_lines = "\n".join(
f"[{r['bucket']}] {r['app_name']} / {r['window_name'] or ''}: {r['text'][:200]}"
for r in ocr_rows[:100]
)
audio = formatted_transcript(for_date)
return {
"app_time": app_lines or "(no app data)",
"browser_urls": url_lines or "(no browser data)",
"ui_events": ui_lines or "(no UI event data)",
"ocr_text": ocr_lines or "(no screen data)",
"audio": audio[:3000] if len(audio) > 3000 else audio,
}
def generate(
summary_type: str = "day_recap",
for_date: date | None = None,
api_key: str | None = None,
) -> dict[str, Any]:
"""Generate an AI summary. Returns dict with 'title', 'content', 'date'."""
import anthropic
d = for_date or date.today()
key = api_key or os.environ.get("ANTHROPIC_API_KEY", "")
if not key:
return {
"title": "Error",
"content": "ANTHROPIC_API_KEY not set. Add it to your .env file.",
"date": str(d),
}
spec = SUMMARY_TYPES.get(summary_type)
if not spec:
return {"title": "Error", "content": f"Unknown summary type: {summary_type}", "date": str(d)}
stats = summary_stats(d)
if stats["total_frames"] == 0:
return {
"title": spec["title"],
"content": f"No screen data found for {d}.",
"date": str(d),
}
ctx = _build_context(d)
prompt = spec["prompt"].format(**ctx)
client = anthropic.Anthropic(api_key=key)
message = client.messages.create(
model="claude-haiku-4-5-20251001",
max_tokens=1024,
messages=[{"role": "user", "content": prompt}],
)
return {
"title": spec["title"],
"content": message.content[0].text,
"date": str(d),
"stats": stats,
}
Thinking
Thinking
Bash
Read all pipe.md files
IN
for f in /volume1/screenpipe/pipes/*/pipe.md; do echo "=== $f ==="; cat "$f"; echo; done
Copy code to clipboard
OUT
=== /volume1/screenpipe/pipes/ai-habits/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: AI Habits
description: "How you use AI tools — patterns and insights"
icon: "🤖"
featured: true
---
Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.
Read screenpipe skill first.
Use this exact format:
## AI Tools Used
- List each tool with approximate time spent (e.g. "Claude: ~45min")
## What I Used Them For
- For each tool: coding, writing, research, or brainstorming
## Usage Patterns
- Do I switch between tools? Use them in bursts or steadily?
## Effectiveness
- Which tool appeared alongside completed work vs. abandoned attempts
If no AI usage is found, say so clearly. End with: "**Tip:** [one suggestion to use AI tools more effectively]"
=== /volume1/screenpipe/pipes/day-recap/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
=== /volume1/screenpipe/pipes/meeting-summary/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Meeting Summary
description: "Summarize meeting transcript with key takeaways and action items"
icon: "🤝"
featured: false
---
Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.
Read screenpipe skill first.
Use this exact format:
## Meeting Summary
One sentence: what this meeting was about.
## Key Takeaways
- Top 3-5 important points discussed
- Include who said what when relevant
## Action Items
- [ ] Task — assigned to whom, deadline if mentioned
- [ ] Task — assigned to whom
## Decisions Made
- List any decisions or agreements reached
## Open Questions
- Anything unresolved or needing follow-up
Keep it concise and actionable.
=== /volume1/screenpipe/pipes/standup-update/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Standup Update
description: "What you did, what's next, and any blockers"
icon: "🏢"
featured: true
---
Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.
Read screenpipe skill first.
Use this exact format:
## Yesterday
- What I worked on (name specific projects, files, tools, PRs)
## Today
- What I will work on next (based on unfinished tasks and recent activity)
## Blockers
- Issues I hit — errors, slow builds, waiting on someone
- If no blockers, write "None"
Keep it under 150 words. Copy-paste ready for a team standup.
=== /volume1/screenpipe/pipes/time-breakdown/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Time Breakdown
description: "Where your time went — by app, project, and category"
icon: "⏱"
featured: false
---
Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.
Read screenpipe skill first.
Use this exact format with durations and percentages:
## By Application
- List each app with duration and percentage, sorted by time (e.g. "VS Code: 2h 15min (28%)")
## By Category
- Group into: coding, meetings, browsing, writing, communication, other
- Show hours and percentage per category
## By Project
- Group related activities by project/topic. Name specific repos or tasks.
## Productivity Score
- Calculate: focused_work_hours / total_hours as a percentage
- Focused = coding + writing. Unfocused = browsing + switching.
End with: "**Suggestion:** [one specific change to improve tomorrow's productivity]"
=== /volume1/screenpipe/pipes/video-export/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Export Video Clip
description: "Create a video of your recent screen activity"
icon: "🎬"
featured: false
---
Export a video of my screen activity from the last 5 minutes.
Read screenpipe skill first.
Use the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.
If the export is large, suggest a lower fps or shorter time range.
Thinking
Thinking...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⇧⌘E) - 1 unsaved file","depth":19,"bounds":{"left":0.0003324468,"top":0.047885075,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.057462092,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":22,"bounds":{"left":0.009973404,"top":0.06863528,"width":0.0016622341,"height":0.008778931},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":19,"bounds":{"left":0.0003324468,"top":0.08619314,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.09577015,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⌃⇧G) - 11 pending changes","depth":19,"bounds":{"left":0.0003324468,"top":0.1245012,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.13407822,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"11","depth":22,"bounds":{"left":0.008976064,"top":0.1452514,"width":0.0033244682,"height":0.008778931},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.00930851,"top":0.14604948,"width":0.0016622341,"height":0.007980846}},{"char_start":1,"char_count":1,"bounds":{"left":0.010638298,"top":0.14604948,"width":0.0019946808,"height":0.007980846}}],"role_description":"text"},{"role":"AXRadioButton","text":"Run and Debug (⇧⌘D)","depth":19,"bounds":{"left":0.0003324468,"top":0.16280925,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.17238627,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":19,"bounds":{"left":0.0003324468,"top":0.20111732,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.21069433,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X) - 2 require update, 1 requires restart","depth":19,"bounds":{"left":0.0003324468,"top":0.23942538,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.2490024,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"bounds":{"left":0.009640957,"top":0.2601756,"width":0.0023271276,"height":0.008778931},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Claude Code","depth":19,"bounds":{"left":0.0003324468,"top":0.27773345,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Containers","depth":19,"bounds":{"left":0.0003324468,"top":0.3160415,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"EXPLORER","depth":17,"bounds":{"left":0.022938829,"top":0.047885075,"width":0.018949468,"height":0.02793296},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"EXPLORER","depth":18,"bounds":{"left":0.022938829,"top":0.056664005,"width":0.018949468,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.056664005,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.025265958,"top":0.056664005,"width":0.01662234,"height":0.0103751}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.016289894,"top":0.07581804,"width":0.09940159,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.016954787,"top":0.07821229,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.022938829,"top":0.07581804,"width":0.045877658,"height":0.017557861},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"SCREENPIPE [SSH: NAS]","depth":23,"bounds":{"left":0.022938829,"top":0.079010375,"width":0.045877658,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.07980846,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":20,"bounds":{"left":0.025598405,"top":0.07980846,"width":0.043218084,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.09577015,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.026263298,"top":0.09577015,"width":0.017287234,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.096568234,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":7,"bounds":{"left":0.028922873,"top":0.096568234,"width":0.01462766,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.11332801,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.026263298,"top":0.11332801,"width":0.0076462766,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.11412609,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":2,"bounds":{"left":0.028590426,"top":0.11412609,"width":0.005319149,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.10638298,"top":0.11412609,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.13088587,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.026263298,"top":0.13088587,"width":0.008976064,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.13168396,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.028922873,"top":0.13168396,"width":0.0063164895,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.14844373,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.026263298,"top":0.14844373,"width":0.00831117,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.14924182,"width":0.0009973404,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.027260639,"top":0.14924182,"width":0.0076462766,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.10638298,"top":0.14924182,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.1660016,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.026263298,"top":0.1660016,"width":0.010970744,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.16679968,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":4,"bounds":{"left":0.028922873,"top":0.16679968,"width":0.00831117,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.1819633,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.026263298,"top":0.18355946,"width":0.018949468,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.18435754,"width":0.0013297872,"height":0.011971269}},{"char_start":1,"char_count":9,"bounds":{"left":0.027593086,"top":0.18435754,"width":0.017952127,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.19952115,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.026263298,"top":0.20111732,"width":0.03557181,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.2019154,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":16,"bounds":{"left":0.028590426,"top":0.2019154,"width":0.03324468,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.21707901,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.026263298,"top":0.21867518,"width":0.020944148,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.21947326,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":9,"bounds":{"left":0.028590426,"top":0.21947326,"width":0.01861702,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.23463687,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.026263298,"top":0.23623304,"width":0.03025266,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.23703113,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":13,"bounds":{"left":0.028590426,"top":0.23703113,"width":0.027925532,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.107380316,"top":0.23703113,"width":0.0029920214,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.25219473,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.026263298,"top":0.25379092,"width":0.017287234,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.254589,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":8,"bounds":{"left":0.028922873,"top":0.254589,"width":0.014960106,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.2697526,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.026263298,"top":0.27134877,"width":0.027925532,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.27214685,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":12,"bounds":{"left":0.028922873,"top":0.27214685,"width":0.025265958,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.28731045,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.026263298,"top":0.28890663,"width":0.025930852,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.2897047,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":12,"bounds":{"left":0.028922873,"top":0.2897047,"width":0.023603724,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.3048683,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_f","depth":27,"bounds":{"left":0.026263298,"top":0.3064645,"width":0.026263298,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.30726257,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":11,"bounds":{"left":0.028590426,"top":0.30726257,"width":0.023936171,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.32242617,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.026263298,"top":0.32402235,"width":0.059175532,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.32482043,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":25,"bounds":{"left":0.028590426,"top":0.32482043,"width":0.056848403,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.107380316,"top":0.32482043,"width":0.0029920214,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.33998403,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.026263298,"top":0.3415802,"width":0.039893616,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.3423783,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":17,"bounds":{"left":0.028590426,"top":0.3423783,"width":0.037898935,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.106715426,"top":0.3423783,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.3575419,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.026263298,"top":0.35913807,"width":0.028590426,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.35993615,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":12,"bounds":{"left":0.028590426,"top":0.35993615,"width":0.026595745,"height":0.011971269}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.016289894,"top":0.9473264,"width":0.09940159,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.016954787,"top":0.9497207,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"OUTLINE","depth":22,"bounds":{"left":0.022938829,"top":0.9473264,"width":0.01662234,"height":0.017557861},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"OUTLINE","depth":23,"bounds":{"left":0.022938829,"top":0.95131683,"width":0.01662234,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.95131683,"width":0.0029920214,"height":0.0103751}},{"char_start":1,"char_count":6,"bounds":{"left":0.025930852,"top":0.95131683,"width":0.013630319,"height":0.0103751}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.016289894,"top":0.9648843,"width":0.09940159,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.016954787,"top":0.96727854,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"TIMELINE","depth":22,"bounds":{"left":0.022938829,"top":0.9648843,"width":0.01761968,"height":0.017557861},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"TIMELINE","depth":23,"bounds":{"left":0.022938829,"top":0.9688747,"width":0.01761968,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.9688747,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.025598405,"top":0.9688747,"width":0.015292553,"height":0.0103751}}],"role_description":"text"},{"role":"AXRadioButton","text":"app_settings.json, Editor Group 1","depth":28,"bounds":{"left":0.116023935,"top":0.047885075,"width":0.055851065,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync.sh, Editor Group 1","depth":28,"bounds":{"left":0.171875,"top":0.047885075,"width":0.06549202,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_f, Editor Group 1","depth":28,"bounds":{"left":0.23736702,"top":0.047885075,"width":0.046875,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync_updated.sh, preview, Editor Group 1","depth":28,"bounds":{"left":0.2839096,"top":0.047885075,"width":0.0831117,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"pipe.md, Editor Group 1","depth":28,"bounds":{"left":0.36702126,"top":0.047885075,"width":0.039893616,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":".env, Editor Group 1","depth":28,"bounds":{"left":0.4069149,"top":0.047885075,"width":0.039893616,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"","depth":28,"bounds":{"left":0.13763298,"top":0.09497207,"width":0.0003324468,"height":0.011173184},"on_screen":true,"value":"","role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":29,"bounds":{"left":0.13763298,"top":0.09497207,"width":0.0003324468,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Implement and run pipe l…, Editor Group 2","depth":28,"bounds":{"left":0.5581782,"top":0.047885075,"width":0.073803194,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"Problems (⇧⌘M)","depth":22,"bounds":{"left":0.11868351,"top":0.7278532,"width":0.027925532,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PROBLEMS","depth":24,"bounds":{"left":0.12267287,"top":0.7366321,"width":0.019946808,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Output (⇧⌘U)","depth":22,"bounds":{"left":0.1462766,"top":0.7278532,"width":0.023603724,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"OUTPUT","depth":24,"bounds":{"left":0.15026596,"top":0.7366321,"width":0.015625,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Debug Console (⇧⌘Y)","depth":22,"bounds":{"left":0.16954787,"top":0.7278532,"width":0.039893616,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DEBUG CONSOLE","depth":24,"bounds":{"left":0.17353724,"top":0.7366321,"width":0.031914894,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Terminal (⌃`)","depth":22,"bounds":{"left":0.20910904,"top":0.7278532,"width":0.026595745,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"TERMINAL","depth":24,"bounds":{"left":0.2130984,"top":0.7366321,"width":0.01861702,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.21343085,"top":0.73743016,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.21575798,"top":0.73743016,"width":0.016289894,"height":0.0103751}}],"role_description":"text"},{"role":"AXRadioButton","text":"Ports - 1 forwarded port","depth":22,"bounds":{"left":0.2357048,"top":0.7278532,"width":0.026263298,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PORTS","depth":24,"bounds":{"left":0.23969415,"top":0.7366321,"width":0.012300532,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":25,"bounds":{"left":0.2549867,"top":0.73743016,"width":0.0019946808,"height":0.008778931},"on_screen":true,"role_description":"text"},{"role":"AXTextArea","text":"Remote - SSH - Output","depth":27,"bounds":{"left":0.12267287,"top":0.9680766,"width":0.87200797,"height":0.014365523},"on_screen":true,"role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0009973404,"top":0.98244214,"width":0.028590426,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.003656915,"top":0.9848364,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.008976064,"top":0.9856345,"width":0.017952127,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008976064,"top":0.9856345,"width":0.0013297872,"height":0.011173184}},{"char_start":1,"char_count":7,"bounds":{"left":0.010305851,"top":0.9856345,"width":0.01462766,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.03125,"top":0.98244214,"width":0.023271276,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.032247342,"top":0.9848364,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.03756649,"top":0.9856345,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.03756649,"top":0.9856345,"width":0.0013297872,"height":0.011173184}},{"char_start":1,"char_count":6,"bounds":{"left":0.038896278,"top":0.9856345,"width":0.012965426,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.054521278,"top":0.98244214,"width":0.00731383,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.064494684,"top":0.98244214,"width":0.022606382,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.06615692,"top":0.9848364,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.071476065,"top":0.9856345,"width":0.004986702,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.076130316,"top":0.9848364,"width":0.0056515955,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.08144947,"top":0.9856345,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 8766","depth":16,"bounds":{"left":0.0887633,"top":0.98244214,"width":0.012632979,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.09042553,"top":0.9848364,"width":0.0056515955,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":17,"bounds":{"left":0.095744684,"top":0.9856345,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.9890292,"top":0.98244214,"width":0.010638298,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sign In","depth":16,"bounds":{"left":0.96542555,"top":0.98244214,"width":0.022606382,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.96708775,"top":0.9848364,"width":0.0056515955,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Sign In","depth":17,"bounds":{"left":0.9724069,"top":0.9856345,"width":0.013962766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.9724069,"top":0.9856345,"width":0.0013297872,"height":0.011173184}},{"char_start":1,"char_count":6,"bounds":{"left":0.9737367,"top":0.9856345,"width":0.010638298,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Plain Text","depth":16,"bounds":{"left":0.9428192,"top":0.98244214,"width":0.020279255,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions","depth":16,"bounds":{"left":0.93550533,"top":0.98244214,"width":0.00731383,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.92486703,"top":0.98244214,"width":0.007978723,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.9075798,"top":0.98244214,"width":0.015625,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 4","depth":16,"bounds":{"left":0.8836436,"top":0.98244214,"width":0.021941489,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 1, Col 1","depth":16,"bounds":{"left":0.85771275,"top":0.98244214,"width":0.023936171,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Downloading VS Code Server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Implement and run pipe logic","depth":19,"bounds":{"left":0.56050533,"top":0.08060654,"width":0.07114362,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Session history","depth":19,"bounds":{"left":0.97839093,"top":0.08060654,"width":0.00930851,"height":0.022346368},"on_screen":true,"help_text":"Session history","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New session","depth":19,"bounds":{"left":0.9890292,"top":0.08060654,"width":0.00930851,"height":0.022346368},"on_screen":true,"help_text":"New session","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Message actions","depth":24,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"main.py","depth":23,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lets implement logic with pipes. how can I run it?","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Let me look at the current project structure to understand what's already in place.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List project files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume1/screenpipe -type f | head -50 && echo \"---\" && ls /volume1/screenpipe","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/.DS_Store\n/volume1/screenpipe/screenpipe.db\n/volume1/screenpipe/screenpipe_sync.sh\n/volume1/screenpipe/app_settings.json\n/volume1/screenpipe/.gitignore\n/volume1/screenpipe/archive.db\n/volume1/screenpipe/db.sqlite\n/volume1/screenpipe/db.sqlite-wal\n/volume1/screenpipe/db.sqlite-shm\n/volume1/screenpipe/#recycle/desktop.ini\n/volume1/screenpipe/#recycle/db.sqlite\n/volume1/screenpipe/#recycle/Copy #1 of db.sqlite\n/volume1/screenpipe/#recycle/.DS_Store\n/volume1/screenpipe/#recycle/Copy #2 of db.sqlite\n/volume1/screenpipe/#recycle/archive.db\n/volume1/screenpipe/#recycle/Copy #1 of archive.db\n/volume1/screenpipe/#recycle/Copy #2 of archive.db\n/volume1/screenpipe/#recycle/Copy #3 of archive.db\n/volume1/screenpipe/#recycle/Copy #4 of archive.db\n/volume1/screenpipe/#recycle/Copy #5 of archive.db\n/volume1/screenpipe/#recycle/Copy #3 of db.sqlite\n/volume1/screenpipe/#recycle/Copy #4 of db.sqlite\n/volume1/screenpipe/#recycle/Copy #6 of archive.db\n/volume1/screenpipe/#recycle/test.txt\n/volume1/screenpipe/#recycle/Copy #7 of archive.db\n/volume1/screenpipe/#recycle/Copy #8 of archive.db\n/volume1/screenpipe/#recycle/archive.db-journal\n/volume1/screenpipe/#recycle/Copy #1 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #2 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #3 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #4 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #5 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #6 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #7 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #5 of db.sqlite\n/volume1/screenpipe/pipes/.DS_Store\n/volume1/screenpipe/app/.env\n/volume1/screenpipe/app/cli.py\n/volume1/screenpipe/app/.DS_Store\n/volume1/screenpipe/app/db.py\n/volume1/screenpipe/app/docker-compose.yml\n/volume1/screenpipe/app/main.py\n/volume1/screenpipe/app/requirements.txt\n/volume1/screenpipe/app/Dockerfile\n/volume1/screenpipe/data/.DS_Store\n/volume1/screenpipe/.git/description\n/volume1/screenpipe/.git/HEAD\n/volume1/screenpipe/.git/index\n/volume1/screenpipe/.git/COMMIT_EDITMSG\n/volume1/screenpipe/#recycle/data/.DS_Store\n---\napp\napp_settings.json\narchive.db\ndata\ndb.sqlite\ndb.sqlite-shm\ndb.sqlite-wal\npipes\n#recycle\nscreenpipe.db\nscreenpipe_sync.sh","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"main.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check pipes directory and docker-compose","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/ && ls /volume1/screenpipe/app/ && cat /volume1/screenpipe/app/docker-compose.yml","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ai-habits\nday-recap\nmeeting-summary\nstandup-update\ntime-breakdown\nvideo-export\ncli.py\nconsumers\ndb.py\ndocker-compose.yml\nDockerfile\nmain.py\n__pycache__\nrequirements.txt\nstatic\nservices:\n screenpipe-app:\n build: .\n container_name: screenpipe-app\n restart: unless-stopped\n ports:\n - \"8766:8000\"\n volumes:\n - /volume1/screenpipe:/data\n env_file:\n - .env\n environment:\n TZ: Europe/Sofia\n DB_PATH: /data/db.sqlite\n\n sqlite-web-archive:\n image: ghcr.io/coleifer/sqlite-web:latest\n container_name: screenpipe-sqlweb-archive\n restart: unless-stopped\n ports:\n - \"8767:8080\"\n volumes:\n - /volume1/screenpipe:/data\n command: [\"-H\", \"0.0.0.0\", \"-r\", \"/data/archive.db\"]\n\n sqlite-web-live:\n image: ghcr.io/coleifer/sqlite-web:latest\n container_name: screenpipe-sqlweb-live\n restart: unless-stopped\n ports:\n - \"8768:8080\"\n volumes:\n - /volume1/screenpipe:/data\n command: [\"-H\", \"0.0.0.0\", \"-r\", \"/data/db.sqlite\"]","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"requirements.txt","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"requirements.txt","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Inspect a pipe directory","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/day-recap/ && cat /volume1/screenpipe/pipes/day-recap/pipe.json 2>/dev/null || ls /volume1/screenpipe/pipes/day-recap/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"pipe.md\npipe.md","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"cli.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"cli.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List all pipes and their contents","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/ && for d in /volume1/screenpipe/pipes/*/; do echo \"=== $d ===\"; ls \"$d\"; done","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ai-habits\nday-recap\nmeeting-summary\nstandup-update\ntime-breakdown\nvideo-export\n=== /volume1/screenpipe/pipes/ai-habits/ ===\npipe.md\n=== /volume1/screenpipe/pipes/day-recap/ ===\npipe.md\n=== /volume1/screenpipe/pipes/meeting-summary/ ===\npipe.md\n=== /volume1/screenpipe/pipes/standup-update/ ===\npipe.md\n=== /volume1/screenpipe/pipes/time-breakdown/ ===\npipe.md\n=== /volume1/screenpipe/pipes/video-export/ ===\npipe.md","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read pipe markdown files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cat /volume1/screenpipe/pipes/day-recap/pipe.md && echo \"===\" && cat /volume1/screenpipe/pipes/meeting-summary/pipe.md 2>/dev/null | head -50","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Day Recap\ndescription: \"Today's accomplishments, key moments, and unfinished work\"\nicon: \"📋\"\nfeatured: true\n---\n\nAnalyze my screen and audio recordings from today (last 16 hours only). \n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Summary\nOne sentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM\")\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things I saw, said, or heard — with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow — name the app/file/task\n\n## Patterns\n- Apps I used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"\n===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Meeting Summary\ndescription: \"Summarize meeting transcript with key takeaways and action items\"\nicon: \"🤝\"\nfeatured: false\n---\n\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Meeting Summary\nOne sentence: what this meeting was about.\n\n## Key Takeaways\n- Top 3-5 important points discussed\n- Include who said what when relevant\n\n## Action Items\n- [ ] Task — assigned to whom, deadline if mentioned\n- [ ] Task — assigned to whom\n\n## Decisions Made\n- List any decisions or agreements reached\n\n## Open Questions\n- Anything unresolved or needing follow-up\n\nKeep it concise and actionable.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read summary consumer","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/app/consumers/ && cat /volume1/screenpipe/app/consumers/summary.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"activity.py\naudio.py\nelements.py\n__init__.py\ninteractions.py\nocr.py\n__pycache__\nreport.py\nsummary.py\n\"\"\"AI summary generator using Claude.\"\"\"\nimport os\nfrom datetime import date\nfrom typing import Any\n\nfrom consumers.activity import app_time, summary_stats, browser_urls, ui_event_summary\nfrom consumers.ocr import deduplicated_text\nfrom consumers.audio import formatted_transcript\n\n\nSUMMARY_TYPES = {\n \"day_recap\": {\n \"title\": \"Day Recap\",\n \"prompt\": \"\"\"\\\nYou are analyzing a person's computer activity for the day.\n\n## App usage (minutes per app):\n{app_time}\n\n## Browser URLs visited:\n{browser_urls}\n\n## UI activity per app (clicks / keystrokes / app-switches):\n{ui_events}\n\n## Screen content (sampled every 5 minutes):\n{ocr_text}\n\n## Audio/speech:\n{audio}\n\nWrite a concise day recap using EXACTLY this format:\n\n## Summary\nOne sentence: what I mainly worked on today.\n\n## Accomplishments\n- Top 3 things I finished, with approximate times\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things seen or heard, with timestamps\n\n## Unfinished Work\n- What to continue tomorrow\n\n## Patterns\n- Apps used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with:\n**Next step:** [most important thing to continue]\"\"\",\n },\n \"standup\": {\n \"title\": \"Standup Update\",\n \"prompt\": \"\"\"\\\nYou are analyzing a person's computer activity for the day.\n\n## App usage (minutes per app):\n{app_time}\n\n## Browser URLs visited:\n{browser_urls}\n\n## UI activity per app (clicks / keystrokes / app-switches):\n{ui_events}\n\n## Screen content (sampled every 5 minutes):\n{ocr_text}\n\n## Audio/speech:\n{audio}\n\nWrite a brief standup update:\n\n**Yesterday:** What I worked on (2-3 bullets)\n**Today:** What I plan to continue (1-2 bullets)\n**Blockers:** Any issues observed (or \"None\")\n\nKeep it under 150 words. Only report what's verifiable from the data.\"\"\",\n },\n \"focus_time\": {\n \"title\": \"Focus & Distraction Analysis\",\n \"prompt\": \"\"\"\\\nYou are analyzing a person's computer activity for the day.\n\n## App usage (minutes per app):\n{app_time}\n\n## Browser URLs visited:\n{browser_urls}\n\n## UI activity per app (clicks / keystrokes / app-switches):\n{ui_events}\n\n## Screen content (sampled every 5 minutes):\n{ocr_text}\n\nAnalyze focus vs distraction patterns:\n\n## Deep Work Periods\n- When and how long were sustained focus sessions?\n- What was being worked on?\n\n## Distractions\n- Which apps/sites were used recreationally?\n- How much time was lost to context switching?\n\n## Recommendations\n- 2-3 concrete suggestions to improve focus tomorrow\n\nBe specific with times and app names.\"\"\",\n },\n}\n\n\ndef _build_context(for_date: date) -> dict[str, str]:\n apps = app_time(for_date)\n app_lines = \"\\n\".join(f\"- {a['app_name']}: {a['minutes']} min\" for a in apps[:20])\n\n urls = browser_urls(for_date, limit=20)\n url_lines = \"\\n\".join(\n f\"- {u['browser_url'][:100]} ({u['minutes']} min)\" for u in urls\n )\n\n ui_rows = ui_event_summary(for_date)\n ui_lines = \"\\n\".join(\n f\"- {r['app_name']}: {r['clicks']} clicks, {r['keystrokes']} keys, {r['switches']} switches\"\n for r in ui_rows[:15]\n )\n\n ocr_rows = deduplicated_text(for_date, chunk_minutes=5)\n ocr_lines = \"\\n\".join(\n f\"[{r['bucket']}] {r['app_name']} / {r['window_name'] or ''}: {r['text'][:200]}\"\n for r in ocr_rows[:100]\n )\n\n audio = formatted_transcript(for_date)\n\n return {\n \"app_time\": app_lines or \"(no app data)\",\n \"browser_urls\": url_lines or \"(no browser data)\",\n \"ui_events\": ui_lines or \"(no UI event data)\",\n \"ocr_text\": ocr_lines or \"(no screen data)\",\n \"audio\": audio[:3000] if len(audio) > 3000 else audio,\n }\n\n\ndef generate(\n summary_type: str = \"day_recap\",\n for_date: date | None = None,\n api_key: str | None = None,\n) -> dict[str, Any]:\n \"\"\"Generate an AI summary. Returns dict with 'title', 'content', 'date'.\"\"\"\n import anthropic\n\n d = for_date or date.today()\n key = api_key or os.environ.get(\"ANTHROPIC_API_KEY\", \"\")\n if not key:\n return {\n \"title\": \"Error\",\n \"content\": \"ANTHROPIC_API_KEY not set. Add it to your .env file.\",\n \"date\": str(d),\n }\n\n spec = SUMMARY_TYPES.get(summary_type)\n if not spec:\n return {\"title\": \"Error\", \"content\": f\"Unknown summary type: {summary_type}\", \"date\": str(d)}\n\n stats = summary_stats(d)\n if stats[\"total_frames\"] == 0:\n return {\n \"title\": spec[\"title\"],\n \"content\": f\"No screen data found for {d}.\",\n \"date\": str(d),\n }\n\n ctx = _build_context(d)\n prompt = spec[\"prompt\"].format(**ctx)\n\n client = anthropic.Anthropic(api_key=key)\n message = client.messages.create(\n model=\"claude-haiku-4-5-20251001\",\n max_tokens=1024,\n messages=[{\"role\": \"user\", \"content\": prompt}],\n )\n\n return {\n \"title\": spec[\"title\"],\n \"content\": message.content[0].text,\n \"date\": str(d),\n \"stats\": stats,\n }","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read all pipe.md files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for f in /volume1/screenpipe/pipes/*/pipe.md; do echo \"=== $f ===\"; cat \"$f\"; echo; done","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"=== /volume1/screenpipe/pipes/ai-habits/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: AI Habits\ndescription: \"How you use AI tools — patterns and insights\"\nicon: \"🤖\"\nfeatured: true\n---\n\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## AI Tools Used\n- List each tool with approximate time spent (e.g. \"Claude: ~45min\")\n\n## What I Used Them For\n- For each tool: coding, writing, research, or brainstorming\n\n## Usage Patterns\n- Do I switch between tools? Use them in bursts or steadily?\n\n## Effectiveness\n- Which tool appeared alongside completed work vs. abandoned attempts\n\nIf no AI usage is found, say so clearly. End with: \"**Tip:** [one suggestion to use AI tools more effectively]\"\n\n=== /volume1/screenpipe/pipes/day-recap/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Day Recap\ndescription: \"Today's accomplishments, key moments, and unfinished work\"\nicon: \"📋\"\nfeatured: true\n---\n\nAnalyze my screen and audio recordings from today (last 16 hours only). \n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Summary\nOne sentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM\")\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things I saw, said, or heard — with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow — name the app/file/task\n\n## Patterns\n- Apps I used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"\n\n=== /volume1/screenpipe/pipes/meeting-summary/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Meeting Summary\ndescription: \"Summarize meeting transcript with key takeaways and action items\"\nicon: \"🤝\"\nfeatured: false\n---\n\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Meeting Summary\nOne sentence: what this meeting was about.\n\n## Key Takeaways\n- Top 3-5 important points discussed\n- Include who said what when relevant\n\n## Action Items\n- [ ] Task — assigned to whom, deadline if mentioned\n- [ ] Task — assigned to whom\n\n## Decisions Made\n- List any decisions or agreements reached\n\n## Open Questions\n- Anything unresolved or needing follow-up\n\nKeep it concise and actionable.\n\n=== /volume1/screenpipe/pipes/standup-update/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Standup Update\ndescription: \"What you did, what's next, and any blockers\"\nicon: \"🏢\"\nfeatured: true\n---\n\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Yesterday\n- What I worked on (name specific projects, files, tools, PRs)\n\n## Today\n- What I will work on next (based on unfinished tasks and recent activity)\n\n## Blockers\n- Issues I hit — errors, slow builds, waiting on someone\n- If no blockers, write \"None\"\n\nKeep it under 150 words. Copy-paste ready for a team standup.\n\n=== /volume1/screenpipe/pipes/time-breakdown/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Time Breakdown\ndescription: \"Where your time went — by app, project, and category\"\nicon: \"⏱\"\nfeatured: false\n---\n\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\n\nRead screenpipe skill first.\n\nUse this exact format with durations and percentages:\n\n## By Application\n- List each app with duration and percentage, sorted by time (e.g. \"VS Code: 2h 15min (28%)\")\n\n## By Category\n- Group into: coding, meetings, browsing, writing, communication, other\n- Show hours and percentage per category\n\n## By Project\n- Group related activities by project/topic. Name specific repos or tasks.\n\n## Productivity Score\n- Calculate: focused_work_hours / total_hours as a percentage\n- Focused = coding + writing. Unfocused = browsing + switching.\n\nEnd with: \"**Suggestion:** [one specific change to improve tomorrow's productivity]\"\n\n=== /volume1/screenpipe/pipes/video-export/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Export Video Clip\ndescription: \"Create a video of your recent screen activity\"\nicon: \"🎬\"\nfeatured: false\n---\n\nExport a video of my screen activity from the last 5 minutes.\n\nRead screenpipe skill first.\n\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\n\nIf the export is large, suggest a lower fps or shorter time range.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"}]...
|
4986247501546931322
|
-7682068132844811152
|
click
|
accessibility
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_f
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_f, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1
Implement and run pipe l…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports - 1 forwarded port
PORTS
1
Remote - SSH - Output
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 8766
1
Notifications
Sign In
Sign In
Plain Text
Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions
LF
UTF-8
Spaces: 4
Ln 1, Col 1
Info: Downloading VS Code Server...
Implement and run pipe logic
Session history
New session
Message actions
main.py
main.py
lets implement logic with pipes. how can I run it?
Thinking
Thinking
Let me look at the current project structure to understand what's already in place.
Bash
List project files
IN
find /volume1/screenpipe -type f | head -50 && echo "---" && ls /volume1/screenpipe
Copy code to clipboard
OUT
/volume1/screenpipe/.DS_Store
/volume1/screenpipe/screenpipe.db
/volume1/screenpipe/screenpipe_sync.sh
/volume1/screenpipe/app_settings.json
/volume1/screenpipe/.gitignore
/volume1/screenpipe/archive.db
/volume1/screenpipe/db.sqlite
/volume1/screenpipe/db.sqlite-wal
/volume1/screenpipe/db.sqlite-shm
/volume1/screenpipe/#recycle/desktop.ini
/volume1/screenpipe/#recycle/db.sqlite
/volume1/screenpipe/#recycle/Copy #1 of db.sqlite
/volume1/screenpipe/#recycle/.DS_Store
/volume1/screenpipe/#recycle/Copy #2 of db.sqlite
/volume1/screenpipe/#recycle/archive.db
/volume1/screenpipe/#recycle/Copy #1 of archive.db
/volume1/screenpipe/#recycle/Copy #2 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of archive.db
/volume1/screenpipe/#recycle/Copy #4 of archive.db
/volume1/screenpipe/#recycle/Copy #5 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of db.sqlite
/volume1/screenpipe/#recycle/Copy #4 of db.sqlite
/volume1/screenpipe/#recycle/Copy #6 of archive.db
/volume1/screenpipe/#recycle/test.txt
/volume1/screenpipe/#recycle/Copy #7 of archive.db
/volume1/screenpipe/#recycle/Copy #8 of archive.db
/volume1/screenpipe/#recycle/archive.db-journal
/volume1/screenpipe/#recycle/Copy #1 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #2 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #3 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #4 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #6 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #7 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of db.sqlite
/volume1/screenpipe/pipes/.DS_Store
/volume1/screenpipe/app/.env
/volume1/screenpipe/app/cli.py
/volume1/screenpipe/app/.DS_Store
/volume1/screenpipe/app/db.py
/volume1/screenpipe/app/docker-compose.yml
/volume1/screenpipe/app/main.py
/volume1/screenpipe/app/requirements.txt
/volume1/screenpipe/app/Dockerfile
/volume1/screenpipe/data/.DS_Store
/volume1/screenpipe/.git/description
/volume1/screenpipe/.git/HEAD
/volume1/screenpipe/.git/index
/volume1/screenpipe/.git/COMMIT_EDITMSG
/volume1/screenpipe/#recycle/data/.DS_Store
---
app
app_settings.json
archive.db
data
db.sqlite
db.sqlite-shm
db.sqlite-wal
pipes
#recycle
screenpipe.db
screenpipe_sync.sh
Read
main.py
main.py
Bash
Check pipes directory and docker-compose
IN
ls /volume1/screenpipe/pipes/ && ls /volume1/screenpipe/app/ && cat /volume1/screenpipe/app/docker-compose.yml
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
cli.py
consumers
db.py
docker-compose.yml
Dockerfile
main.py
__pycache__
requirements.txt
static
services:
screenpipe-app:
build: .
container_name: screenpipe-app
restart: unless-stopped
ports:
- "8766:8000"
volumes:
- /volume1/screenpipe:/data
env_file:
- .env
environment:
TZ: Europe/Sofia
DB_PATH: /data/db.sqlite
sqlite-web-archive:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-archive
restart: unless-stopped
ports:
- "8767:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/archive.db"]
sqlite-web-live:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-live
restart: unless-stopped
ports:
- "8768:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/db.sqlite"]
Read
requirements.txt
requirements.txt
Bash
Inspect a pipe directory
IN
ls /volume1/screenpipe/pipes/day-recap/ && cat /volume1/screenpipe/pipes/day-recap/pipe.json 2>/dev/null || ls /volume1/screenpipe/pipes/day-recap/
Copy code to clipboard
OUT
pipe.md
pipe.md
Read
cli.py
cli.py
Bash
List all pipes and their contents
IN
ls /volume1/screenpipe/pipes/ && for d in /volume1/screenpipe/pipes/*/; do echo "=== $d ==="; ls "$d"; done
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
=== /volume1/screenpipe/pipes/ai-habits/ ===
pipe.md
=== /volume1/screenpipe/pipes/day-recap/ ===
pipe.md
=== /volume1/screenpipe/pipes/meeting-summary/ ===
pipe.md
=== /volume1/screenpipe/pipes/standup-update/ ===
pipe.md
=== /volume1/screenpipe/pipes/time-breakdown/ ===
pipe.md
=== /volume1/screenpipe/pipes/video-export/ ===
pipe.md
Bash
Read pipe markdown files
IN
cat /volume1/screenpipe/pipes/day-recap/pipe.md && echo "===" && cat /volume1/screenpipe/pipes/meeting-summary/pipe.md 2>/dev/null | head -50
Copy code to clipboard
OUT
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
===
---
schedule: manual
enabled: true
template: true
title: Meeting Summary
description: "Summarize meeting transcript with key takeaways and action items"
icon: "🤝"
featured: false
---
Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.
Read screenpipe skill first.
Use this exact format:
## Meeting Summary
One sentence: what this meeting was about.
## Key Takeaways
- Top 3-5 important points discussed
- Include who said what when relevant
## Action Items
- [ ] Task — assigned to whom, deadline if mentioned
- [ ] Task — assigned to whom
## Decisions Made
- List any decisions or agreements reached
## Open Questions
- Anything unresolved or needing follow-up
Keep it concise and actionable.
Thinking
Thinking
Bash
Read summary consumer
IN
ls /volume1/screenpipe/app/consumers/ && cat /volume1/screenpipe/app/consumers/summary.py
Copy code to clipboard
OUT
activity.py
audio.py
elements.py
__init__.py
interactions.py
ocr.py
__pycache__
report.py
summary.py
"""AI summary generator using Claude."""
import os
from datetime import date
from typing import Any
from consumers.activity import app_time, summary_stats, browser_urls, ui_event_summary
from consumers.ocr import deduplicated_text
from consumers.audio import formatted_transcript
SUMMARY_TYPES = {
"day_recap": {
"title": "Day Recap",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
## Audio/speech:
{audio}
Write a concise day recap using EXACTLY this format:
## Summary
One sentence: what I mainly worked on today.
## Accomplishments
- Top 3 things I finished, with approximate times
- Name specific apps, files, or projects
## Key Moments
- Important things seen or heard, with timestamps
## Unfinished Work
- What to continue tomorrow
## Patterns
- Apps used most, topics that came up repeatedly
Only report what you can verify from the data. End with:
**Next step:** [most important thing to continue]""",
},
"standup": {
"title": "Standup Update",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
## Audio/speech:
{audio}
Write a brief standup update:
**Yesterday:** What I worked on (2-3 bullets)
**Today:** What I plan to continue (1-2 bullets)
**Blockers:** Any issues observed (or "None")
Keep it under 150 words. Only report what's verifiable from the data.""",
},
"focus_time": {
"title": "Focus & Distraction Analysis",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
Analyze focus vs distraction patterns:
## Deep Work Periods
- When and how long were sustained focus sessions?
- What was being worked on?
## Distractions
- Which apps/sites were used recreationally?
- How much time was lost to context switching?
## Recommendations
- 2-3 concrete suggestions to improve focus tomorrow
Be specific with times and app names.""",
},
}
def _build_context(for_date: date) -> dict[str, str]:
apps = app_time(for_date)
app_lines = "\n".join(f"- {a['app_name']}: {a['minutes']} min" for a in apps[:20])
urls = browser_urls(for_date, limit=20)
url_lines = "\n".join(
f"- {u['browser_url'][:100]} ({u['minutes']} min)" for u in urls
)
ui_rows = ui_event_summary(for_date)
ui_lines = "\n".join(
f"- {r['app_name']}: {r['clicks']} clicks, {r['keystrokes']} keys, {r['switches']} switches"
for r in ui_rows[:15]
)
ocr_rows = deduplicated_text(for_date, chunk_minutes=5)
ocr_lines = "\n".join(
f"[{r['bucket']}] {r['app_name']} / {r['window_name'] or ''}: {r['text'][:200]}"
for r in ocr_rows[:100]
)
audio = formatted_transcript(for_date)
return {
"app_time": app_lines or "(no app data)",
"browser_urls": url_lines or "(no browser data)",
"ui_events": ui_lines or "(no UI event data)",
"ocr_text": ocr_lines or "(no screen data)",
"audio": audio[:3000] if len(audio) > 3000 else audio,
}
def generate(
summary_type: str = "day_recap",
for_date: date | None = None,
api_key: str | None = None,
) -> dict[str, Any]:
"""Generate an AI summary. Returns dict with 'title', 'content', 'date'."""
import anthropic
d = for_date or date.today()
key = api_key or os.environ.get("ANTHROPIC_API_KEY", "")
if not key:
return {
"title": "Error",
"content": "ANTHROPIC_API_KEY not set. Add it to your .env file.",
"date": str(d),
}
spec = SUMMARY_TYPES.get(summary_type)
if not spec:
return {"title": "Error", "content": f"Unknown summary type: {summary_type}", "date": str(d)}
stats = summary_stats(d)
if stats["total_frames"] == 0:
return {
"title": spec["title"],
"content": f"No screen data found for {d}.",
"date": str(d),
}
ctx = _build_context(d)
prompt = spec["prompt"].format(**ctx)
client = anthropic.Anthropic(api_key=key)
message = client.messages.create(
model="claude-haiku-4-5-20251001",
max_tokens=1024,
messages=[{"role": "user", "content": prompt}],
)
return {
"title": spec["title"],
"content": message.content[0].text,
"date": str(d),
"stats": stats,
}
Thinking
Thinking
Bash
Read all pipe.md files
IN
for f in /volume1/screenpipe/pipes/*/pipe.md; do echo "=== $f ==="; cat "$f"; echo; done
Copy code to clipboard
OUT
=== /volume1/screenpipe/pipes/ai-habits/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: AI Habits
description: "How you use AI tools — patterns and insights"
icon: "🤖"
featured: true
---
Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.
Read screenpipe skill first.
Use this exact format:
## AI Tools Used
- List each tool with approximate time spent (e.g. "Claude: ~45min")
## What I Used Them For
- For each tool: coding, writing, research, or brainstorming
## Usage Patterns
- Do I switch between tools? Use them in bursts or steadily?
## Effectiveness
- Which tool appeared alongside completed work vs. abandoned attempts
If no AI usage is found, say so clearly. End with: "**Tip:** [one suggestion to use AI tools more effectively]"
=== /volume1/screenpipe/pipes/day-recap/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
=== /volume1/screenpipe/pipes/meeting-summary/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Meeting Summary
description: "Summarize meeting transcript with key takeaways and action items"
icon: "🤝"
featured: false
---
Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.
Read screenpipe skill first.
Use this exact format:
## Meeting Summary
One sentence: what this meeting was about.
## Key Takeaways
- Top 3-5 important points discussed
- Include who said what when relevant
## Action Items
- [ ] Task — assigned to whom, deadline if mentioned
- [ ] Task — assigned to whom
## Decisions Made
- List any decisions or agreements reached
## Open Questions
- Anything unresolved or needing follow-up
Keep it concise and actionable.
=== /volume1/screenpipe/pipes/standup-update/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Standup Update
description: "What you did, what's next, and any blockers"
icon: "🏢"
featured: true
---
Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.
Read screenpipe skill first.
Use this exact format:
## Yesterday
- What I worked on (name specific projects, files, tools, PRs)
## Today
- What I will work on next (based on unfinished tasks and recent activity)
## Blockers
- Issues I hit — errors, slow builds, waiting on someone
- If no blockers, write "None"
Keep it under 150 words. Copy-paste ready for a team standup.
=== /volume1/screenpipe/pipes/time-breakdown/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Time Breakdown
description: "Where your time went — by app, project, and category"
icon: "⏱"
featured: false
---
Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.
Read screenpipe skill first.
Use this exact format with durations and percentages:
## By Application
- List each app with duration and percentage, sorted by time (e.g. "VS Code: 2h 15min (28%)")
## By Category
- Group into: coding, meetings, browsing, writing, communication, other
- Show hours and percentage per category
## By Project
- Group related activities by project/topic. Name specific repos or tasks.
## Productivity Score
- Calculate: focused_work_hours / total_hours as a percentage
- Focused = coding + writing. Unfocused = browsing + switching.
End with: "**Suggestion:** [one specific change to improve tomorrow's productivity]"
=== /volume1/screenpipe/pipes/video-export/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Export Video Clip
description: "Create a video of your recent screen activity"
icon: "🎬"
featured: false
---
Export a video of my screen activity from the last 5 minutes.
Read screenpipe skill first.
Use the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.
If the export is large, suggest a lower fps or shorter time range.
Thinking
Thinking...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
26241
|
1090
|
2
|
2026-05-12T12:15:12.317880+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778588112317_m1.jpg...
|
Code
|
screenpipe_f — screenpipe [SSH: nas]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_f
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_f, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1
Implement and run pipe l…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports - 1 forwarded port
PORTS
1
Remote - SSH - Output
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 8766
1
Notifications
Sign In
Sign In
Plain Text
Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions
LF
UTF-8
Spaces: 4
Ln 1, Col 1
Info: Downloading VS Code Server...
Implement and run pipe logic
Session history
New session
Message actions
main.py
main.py
lets implement logic with pipes. how can I run it?
Thinking
Thinking
Let me look at the current project structure to understand what's already in place.
Bash
List project files
IN
find /volume1/screenpipe -type f | head -50 && echo "---" && ls /volume1/screenpipe
Copy code to clipboard
OUT
/volume1/screenpipe/.DS_Store
/volume1/screenpipe/screenpipe.db
/volume1/screenpipe/screenpipe_sync.sh
/volume1/screenpipe/app_settings.json
/volume1/screenpipe/.gitignore
/volume1/screenpipe/archive.db
/volume1/screenpipe/db.sqlite
/volume1/screenpipe/db.sqlite-wal
/volume1/screenpipe/db.sqlite-shm
/volume1/screenpipe/#recycle/desktop.ini
/volume1/screenpipe/#recycle/db.sqlite
/volume1/screenpipe/#recycle/Copy #1 of db.sqlite
/volume1/screenpipe/#recycle/.DS_Store
/volume1/screenpipe/#recycle/Copy #2 of db.sqlite
/volume1/screenpipe/#recycle/archive.db
/volume1/screenpipe/#recycle/Copy #1 of archive.db
/volume1/screenpipe/#recycle/Copy #2 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of archive.db
/volume1/screenpipe/#recycle/Copy #4 of archive.db
/volume1/screenpipe/#recycle/Copy #5 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of db.sqlite
/volume1/screenpipe/#recycle/Copy #4 of db.sqlite
/volume1/screenpipe/#recycle/Copy #6 of archive.db
/volume1/screenpipe/#recycle/test.txt
/volume1/screenpipe/#recycle/Copy #7 of archive.db
/volume1/screenpipe/#recycle/Copy #8 of archive.db
/volume1/screenpipe/#recycle/archive.db-journal
/volume1/screenpipe/#recycle/Copy #1 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #2 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #3 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #4 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #6 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #7 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of db.sqlite
/volume1/screenpipe/pipes/.DS_Store
/volume1/screenpipe/app/.env
/volume1/screenpipe/app/cli.py
/volume1/screenpipe/app/.DS_Store
/volume1/screenpipe/app/db.py
/volume1/screenpipe/app/docker-compose.yml
/volume1/screenpipe/app/main.py
/volume1/screenpipe/app/requirements.txt
/volume1/screenpipe/app/Dockerfile
/volume1/screenpipe/data/.DS_Store
/volume1/screenpipe/.git/description
/volume1/screenpipe/.git/HEAD
/volume1/screenpipe/.git/index
/volume1/screenpipe/.git/COMMIT_EDITMSG
/volume1/screenpipe/#recycle/data/.DS_Store
---
app
app_settings.json
archive.db
data
db.sqlite
db.sqlite-shm
db.sqlite-wal
pipes
#recycle
screenpipe.db
screenpipe_sync.sh
Read
main.py
main.py
Bash
Check pipes directory and docker-compose
IN
ls /volume1/screenpipe/pipes/ && ls /volume1/screenpipe/app/ && cat /volume1/screenpipe/app/docker-compose.yml
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
cli.py
consumers
db.py
docker-compose.yml
Dockerfile
main.py
__pycache__
requirements.txt
static
services:
screenpipe-app:
build: .
container_name: screenpipe-app
restart: unless-stopped
ports:
- "8766:8000"
volumes:
- /volume1/screenpipe:/data
env_file:
- .env
environment:
TZ: Europe/Sofia
DB_PATH: /data/db.sqlite
sqlite-web-archive:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-archive
restart: unless-stopped
ports:
- "8767:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/archive.db"]
sqlite-web-live:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-live
restart: unless-stopped
ports:
- "8768:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/db.sqlite"]
Read
requirements.txt
requirements.txt
Bash
Inspect a pipe directory
IN
ls /volume1/screenpipe/pipes/day-recap/ && cat /volume1/screenpipe/pipes/day-recap/pipe.json 2>/dev/null || ls /volume1/screenpipe/pipes/day-recap/
Copy code to clipboard
OUT
pipe.md
pipe.md
Read
cli.py
cli.py
Bash
List all pipes and their contents
IN
ls /volume1/screenpipe/pipes/ && for d in /volume1/screenpipe/pipes/*/; do echo "=== $d ==="; ls "$d"; done
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
=== /volume1/screenpipe/pipes/ai-habits/ ===
pipe.md
=== /volume1/screenpipe/pipes/day-recap/ ===
pipe.md
=== /volume1/screenpipe/pipes/meeting-summary/ ===
pipe.md
=== /volume1/screenpipe/pipes/standup-update/ ===
pipe.md
=== /volume1/screenpipe/pipes/time-breakdown/ ===
pipe.md
=== /volume1/screenpipe/pipes/video-export/ ===
pipe.md
Bash
Read pipe markdown files
IN
cat /volume1/screenpipe/pipes/day-recap/pipe.md && echo "===" && cat /volume1/screenpipe/pipes/meeting-summary/pipe.md 2>/dev/null | head -50
Copy code to clipboard
OUT
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
===
---
schedule: manual
enabled: true
template: true
title: Meeting Summary
description: "Summarize meeting transcript with key takeaways and action items"
icon: "🤝"
featured: false
---
Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.
Read screenpipe skill first.
Use this exact format:
## Meeting Summary
One sentence: what this meeting was about.
## Key Takeaways
- Top 3-5 important points discussed
- Include who said what when relevant
## Action Items
- [ ] Task — assigned to whom, deadline if mentioned
- [ ] Task — assigned to whom
## Decisions Made
- List any decisions or agreements reached
## Open Questions
- Anything unresolved or needing follow-up
Keep it concise and actionable....
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⇧⌘E) - 1 unsaved file","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⌃⇧G) - 11 pending changes","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"11","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Run and Debug (⇧⌘D)","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X) - 2 require update, 1 requires restart","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Claude Code","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Containers","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"EXPLORER","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"EXPLORER","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"SCREENPIPE [SSH: NAS]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_f","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"OUTLINE","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"OUTLINE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"TIMELINE","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"TIMELINE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"app_settings.json, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync.sh, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_f, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync_updated.sh, preview, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"pipe.md, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":".env, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"","depth":28,"on_screen":true,"value":"","role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":29,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Implement and run pipe l…, Editor Group 2","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"Problems (⇧⌘M)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PROBLEMS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Output (⇧⌘U)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"OUTPUT","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Debug Console (⇧⌘Y)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DEBUG CONSOLE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Terminal (⌃`)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"TERMINAL","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Ports - 1 forwarded port","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PORTS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXTextArea","text":"Remote - SSH - Output","depth":27,"on_screen":true,"role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 8766","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sign In","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Sign In","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Plain Text","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 4","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 1, Col 1","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Downloading VS Code Server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Implement and run pipe logic","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Session history","depth":19,"on_screen":true,"help_text":"Session history","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New session","depth":19,"on_screen":true,"help_text":"New session","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Message actions","depth":24,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"main.py","depth":23,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lets implement logic with pipes. how can I run it?","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Let me look at the current project structure to understand what's already in place.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List project files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume1/screenpipe -type f | head -50 && echo \"---\" && ls /volume1/screenpipe","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/.DS_Store\n/volume1/screenpipe/screenpipe.db\n/volume1/screenpipe/screenpipe_sync.sh\n/volume1/screenpipe/app_settings.json\n/volume1/screenpipe/.gitignore\n/volume1/screenpipe/archive.db\n/volume1/screenpipe/db.sqlite\n/volume1/screenpipe/db.sqlite-wal\n/volume1/screenpipe/db.sqlite-shm\n/volume1/screenpipe/#recycle/desktop.ini\n/volume1/screenpipe/#recycle/db.sqlite\n/volume1/screenpipe/#recycle/Copy #1 of db.sqlite\n/volume1/screenpipe/#recycle/.DS_Store\n/volume1/screenpipe/#recycle/Copy #2 of db.sqlite\n/volume1/screenpipe/#recycle/archive.db\n/volume1/screenpipe/#recycle/Copy #1 of archive.db\n/volume1/screenpipe/#recycle/Copy #2 of archive.db\n/volume1/screenpipe/#recycle/Copy #3 of archive.db\n/volume1/screenpipe/#recycle/Copy #4 of archive.db\n/volume1/screenpipe/#recycle/Copy #5 of archive.db\n/volume1/screenpipe/#recycle/Copy #3 of db.sqlite\n/volume1/screenpipe/#recycle/Copy #4 of db.sqlite\n/volume1/screenpipe/#recycle/Copy #6 of archive.db\n/volume1/screenpipe/#recycle/test.txt\n/volume1/screenpipe/#recycle/Copy #7 of archive.db\n/volume1/screenpipe/#recycle/Copy #8 of archive.db\n/volume1/screenpipe/#recycle/archive.db-journal\n/volume1/screenpipe/#recycle/Copy #1 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #2 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #3 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #4 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #5 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #6 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #7 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #5 of db.sqlite\n/volume1/screenpipe/pipes/.DS_Store\n/volume1/screenpipe/app/.env\n/volume1/screenpipe/app/cli.py\n/volume1/screenpipe/app/.DS_Store\n/volume1/screenpipe/app/db.py\n/volume1/screenpipe/app/docker-compose.yml\n/volume1/screenpipe/app/main.py\n/volume1/screenpipe/app/requirements.txt\n/volume1/screenpipe/app/Dockerfile\n/volume1/screenpipe/data/.DS_Store\n/volume1/screenpipe/.git/description\n/volume1/screenpipe/.git/HEAD\n/volume1/screenpipe/.git/index\n/volume1/screenpipe/.git/COMMIT_EDITMSG\n/volume1/screenpipe/#recycle/data/.DS_Store\n---\napp\napp_settings.json\narchive.db\ndata\ndb.sqlite\ndb.sqlite-shm\ndb.sqlite-wal\npipes\n#recycle\nscreenpipe.db\nscreenpipe_sync.sh","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"main.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check pipes directory and docker-compose","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/ && ls /volume1/screenpipe/app/ && cat /volume1/screenpipe/app/docker-compose.yml","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ai-habits\nday-recap\nmeeting-summary\nstandup-update\ntime-breakdown\nvideo-export\ncli.py\nconsumers\ndb.py\ndocker-compose.yml\nDockerfile\nmain.py\n__pycache__\nrequirements.txt\nstatic\nservices:\n screenpipe-app:\n build: .\n container_name: screenpipe-app\n restart: unless-stopped\n ports:\n - \"8766:8000\"\n volumes:\n - /volume1/screenpipe:/data\n env_file:\n - .env\n environment:\n TZ: Europe/Sofia\n DB_PATH: /data/db.sqlite\n\n sqlite-web-archive:\n image: ghcr.io/coleifer/sqlite-web:latest\n container_name: screenpipe-sqlweb-archive\n restart: unless-stopped\n ports:\n - \"8767:8080\"\n volumes:\n - /volume1/screenpipe:/data\n command: [\"-H\", \"0.0.0.0\", \"-r\", \"/data/archive.db\"]\n\n sqlite-web-live:\n image: ghcr.io/coleifer/sqlite-web:latest\n container_name: screenpipe-sqlweb-live\n restart: unless-stopped\n ports:\n - \"8768:8080\"\n volumes:\n - /volume1/screenpipe:/data\n command: [\"-H\", \"0.0.0.0\", \"-r\", \"/data/db.sqlite\"]","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"requirements.txt","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"requirements.txt","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Inspect a pipe directory","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/day-recap/ && cat /volume1/screenpipe/pipes/day-recap/pipe.json 2>/dev/null || ls /volume1/screenpipe/pipes/day-recap/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"pipe.md\npipe.md","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"cli.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"cli.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List all pipes and their contents","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/ && for d in /volume1/screenpipe/pipes/*/; do echo \"=== $d ===\"; ls \"$d\"; done","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ai-habits\nday-recap\nmeeting-summary\nstandup-update\ntime-breakdown\nvideo-export\n=== /volume1/screenpipe/pipes/ai-habits/ ===\npipe.md\n=== /volume1/screenpipe/pipes/day-recap/ ===\npipe.md\n=== /volume1/screenpipe/pipes/meeting-summary/ ===\npipe.md\n=== /volume1/screenpipe/pipes/standup-update/ ===\npipe.md\n=== /volume1/screenpipe/pipes/time-breakdown/ ===\npipe.md\n=== /volume1/screenpipe/pipes/video-export/ ===\npipe.md","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read pipe markdown files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cat /volume1/screenpipe/pipes/day-recap/pipe.md && echo \"===\" && cat /volume1/screenpipe/pipes/meeting-summary/pipe.md 2>/dev/null | head -50","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Day Recap\ndescription: \"Today's accomplishments, key moments, and unfinished work\"\nicon: \"📋\"\nfeatured: true\n---\n\nAnalyze my screen and audio recordings from today (last 16 hours only). \n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Summary\nOne sentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM\")\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things I saw, said, or heard — with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow — name the app/file/task\n\n## Patterns\n- Apps I used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"\n===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Meeting Summary\ndescription: \"Summarize meeting transcript with key takeaways and action items\"\nicon: \"🤝\"\nfeatured: false\n---\n\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Meeting Summary\nOne sentence: what this meeting was about.\n\n## Key Takeaways\n- Top 3-5 important points discussed\n- Include who said what when relevant\n\n## Action Items\n- [ ] Task — assigned to whom, deadline if mentioned\n- [ ] Task — assigned to whom\n\n## Decisions Made\n- List any decisions or agreements reached\n\n## Open Questions\n- Anything unresolved or needing follow-up\n\nKeep it concise and actionable.","depth":25,"on_screen":false,"role_description":"text"}]...
|
-9204102508204651477
|
410913833807748629
|
click
|
accessibility
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_f
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_f, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1
Implement and run pipe l…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports - 1 forwarded port
PORTS
1
Remote - SSH - Output
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 8766
1
Notifications
Sign In
Sign In
Plain Text
Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions
LF
UTF-8
Spaces: 4
Ln 1, Col 1
Info: Downloading VS Code Server...
Implement and run pipe logic
Session history
New session
Message actions
main.py
main.py
lets implement logic with pipes. how can I run it?
Thinking
Thinking
Let me look at the current project structure to understand what's already in place.
Bash
List project files
IN
find /volume1/screenpipe -type f | head -50 && echo "---" && ls /volume1/screenpipe
Copy code to clipboard
OUT
/volume1/screenpipe/.DS_Store
/volume1/screenpipe/screenpipe.db
/volume1/screenpipe/screenpipe_sync.sh
/volume1/screenpipe/app_settings.json
/volume1/screenpipe/.gitignore
/volume1/screenpipe/archive.db
/volume1/screenpipe/db.sqlite
/volume1/screenpipe/db.sqlite-wal
/volume1/screenpipe/db.sqlite-shm
/volume1/screenpipe/#recycle/desktop.ini
/volume1/screenpipe/#recycle/db.sqlite
/volume1/screenpipe/#recycle/Copy #1 of db.sqlite
/volume1/screenpipe/#recycle/.DS_Store
/volume1/screenpipe/#recycle/Copy #2 of db.sqlite
/volume1/screenpipe/#recycle/archive.db
/volume1/screenpipe/#recycle/Copy #1 of archive.db
/volume1/screenpipe/#recycle/Copy #2 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of archive.db
/volume1/screenpipe/#recycle/Copy #4 of archive.db
/volume1/screenpipe/#recycle/Copy #5 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of db.sqlite
/volume1/screenpipe/#recycle/Copy #4 of db.sqlite
/volume1/screenpipe/#recycle/Copy #6 of archive.db
/volume1/screenpipe/#recycle/test.txt
/volume1/screenpipe/#recycle/Copy #7 of archive.db
/volume1/screenpipe/#recycle/Copy #8 of archive.db
/volume1/screenpipe/#recycle/archive.db-journal
/volume1/screenpipe/#recycle/Copy #1 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #2 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #3 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #4 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #6 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #7 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of db.sqlite
/volume1/screenpipe/pipes/.DS_Store
/volume1/screenpipe/app/.env
/volume1/screenpipe/app/cli.py
/volume1/screenpipe/app/.DS_Store
/volume1/screenpipe/app/db.py
/volume1/screenpipe/app/docker-compose.yml
/volume1/screenpipe/app/main.py
/volume1/screenpipe/app/requirements.txt
/volume1/screenpipe/app/Dockerfile
/volume1/screenpipe/data/.DS_Store
/volume1/screenpipe/.git/description
/volume1/screenpipe/.git/HEAD
/volume1/screenpipe/.git/index
/volume1/screenpipe/.git/COMMIT_EDITMSG
/volume1/screenpipe/#recycle/data/.DS_Store
---
app
app_settings.json
archive.db
data
db.sqlite
db.sqlite-shm
db.sqlite-wal
pipes
#recycle
screenpipe.db
screenpipe_sync.sh
Read
main.py
main.py
Bash
Check pipes directory and docker-compose
IN
ls /volume1/screenpipe/pipes/ && ls /volume1/screenpipe/app/ && cat /volume1/screenpipe/app/docker-compose.yml
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
cli.py
consumers
db.py
docker-compose.yml
Dockerfile
main.py
__pycache__
requirements.txt
static
services:
screenpipe-app:
build: .
container_name: screenpipe-app
restart: unless-stopped
ports:
- "8766:8000"
volumes:
- /volume1/screenpipe:/data
env_file:
- .env
environment:
TZ: Europe/Sofia
DB_PATH: /data/db.sqlite
sqlite-web-archive:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-archive
restart: unless-stopped
ports:
- "8767:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/archive.db"]
sqlite-web-live:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-live
restart: unless-stopped
ports:
- "8768:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/db.sqlite"]
Read
requirements.txt
requirements.txt
Bash
Inspect a pipe directory
IN
ls /volume1/screenpipe/pipes/day-recap/ && cat /volume1/screenpipe/pipes/day-recap/pipe.json 2>/dev/null || ls /volume1/screenpipe/pipes/day-recap/
Copy code to clipboard
OUT
pipe.md
pipe.md
Read
cli.py
cli.py
Bash
List all pipes and their contents
IN
ls /volume1/screenpipe/pipes/ && for d in /volume1/screenpipe/pipes/*/; do echo "=== $d ==="; ls "$d"; done
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
=== /volume1/screenpipe/pipes/ai-habits/ ===
pipe.md
=== /volume1/screenpipe/pipes/day-recap/ ===
pipe.md
=== /volume1/screenpipe/pipes/meeting-summary/ ===
pipe.md
=== /volume1/screenpipe/pipes/standup-update/ ===
pipe.md
=== /volume1/screenpipe/pipes/time-breakdown/ ===
pipe.md
=== /volume1/screenpipe/pipes/video-export/ ===
pipe.md
Bash
Read pipe markdown files
IN
cat /volume1/screenpipe/pipes/day-recap/pipe.md && echo "===" && cat /volume1/screenpipe/pipes/meeting-summary/pipe.md 2>/dev/null | head -50
Copy code to clipboard
OUT
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
===
---
schedule: manual
enabled: true
template: true
title: Meeting Summary
description: "Summarize meeting transcript with key takeaways and action items"
icon: "🤝"
featured: false
---
Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.
Read screenpipe skill first.
Use this exact format:
## Meeting Summary
One sentence: what this meeting was about.
## Key Takeaways
- Top 3-5 important points discussed
- Include who said what when relevant
## Action Items
- [ ] Task — assigned to whom, deadline if mentioned
- [ ] Task — assigned to whom
## Decisions Made
- List any decisions or agreements reached
## Open Questions
- Anything unresolved or needing follow-up
Keep it concise and actionable....
|
26239
|
NULL
|
NULL
|
NULL
|
|
26242
|
1090
|
3
|
2026-05-12T12:15:14.002511+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778588114002_m1.jpg...
|
Code
|
screenpipe_f — screenpipe [SSH: nas]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_f
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_f, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1
Implement and run pipe l…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports - 1 forwarded port
PORTS
1
Remote - SSH - Output
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 8766
1
Notifications
Sign In
Sign In
Plain Text
Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions
LF
UTF-8
Spaces: 4
Ln 1, Col 1
Info: Downloading VS Code Server...
Implement and run pipe logic
Session history
New session
Message actions
main.py
main.py
lets implement logic with pipes. how can I run it?
Thinking
Thinking
Let me look at the current project structure to understand what's already in place.
Bash
List project files
IN
find /volume1/screenpipe -type f | head -50 && echo "---" && ls /volume1/screenpipe
Copy code to clipboard
OUT
/volume1/screenpipe/.DS_Store
/volume1/screenpipe/screenpipe.db
/volume1/screenpipe/screenpipe_sync.sh
/volume1/screenpipe/app_settings.json
/volume1/screenpipe/.gitignore
/volume1/screenpipe/archive.db
/volume1/screenpipe/db.sqlite
/volume1/screenpipe/db.sqlite-wal
/volume1/screenpipe/db.sqlite-shm
/volume1/screenpipe/#recycle/desktop.ini
/volume1/screenpipe/#recycle/db.sqlite
/volume1/screenpipe/#recycle/Copy #1 of db.sqlite
/volume1/screenpipe/#recycle/.DS_Store
/volume1/screenpipe/#recycle/Copy #2 of db.sqlite
/volume1/screenpipe/#recycle/archive.db
/volume1/screenpipe/#recycle/Copy #1 of archive.db
/volume1/screenpipe/#recycle/Copy #2 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of archive.db
/volume1/screenpipe/#recycle/Copy #4 of archive.db
/volume1/screenpipe/#recycle/Copy #5 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of db.sqlite
/volume1/screenpipe/#recycle/Copy #4 of db.sqlite
/volume1/screenpipe/#recycle/Copy #6 of archive.db
/volume1/screenpipe/#recycle/test.txt
/volume1/screenpipe/#recycle/Copy #7 of archive.db
/volume1/screenpipe/#recycle/Copy #8 of archive.db
/volume1/screenpipe/#recycle/archive.db-journal
/volume1/screenpipe/#recycle/Copy #1 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #2 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #3 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #4 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #6 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #7 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of db.sqlite
/volume1/screenpipe/pipes/.DS_Store
/volume1/screenpipe/app/.env
/volume1/screenpipe/app/cli.py
/volume1/screenpipe/app/.DS_Store
/volume1/screenpipe/app/db.py
/volume1/screenpipe/app/docker-compose.yml
/volume1/screenpipe/app/main.py
/volume1/screenpipe/app/requirements.txt
/volume1/screenpipe/app/Dockerfile
/volume1/screenpipe/data/.DS_Store
/volume1/screenpipe/.git/description
/volume1/screenpipe/.git/HEAD
/volume1/screenpipe/.git/index
/volume1/screenpipe/.git/COMMIT_EDITMSG
/volume1/screenpipe/#recycle/data/.DS_Store
---
app
app_settings.json
archive.db
data
db.sqlite
db.sqlite-shm
db.sqlite-wal
pipes
#recycle
screenpipe.db
screenpipe_sync.sh
Read
main.py
main.py
Bash
Check pipes directory and docker-compose
IN
ls /volume1/screenpipe/pipes/ && ls /volume1/screenpipe/app/ && cat /volume1/screenpipe/app/docker-compose.yml
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
cli.py
consumers
db.py
docker-compose.yml
Dockerfile
main.py
__pycache__
requirements.txt
static
services:
screenpipe-app:
build: .
container_name: screenpipe-app
restart: unless-stopped
ports:
- "8766:8000"
volumes:
- /volume1/screenpipe:/data
env_file:
- .env
environment:
TZ: Europe/Sofia
DB_PATH: /data/db.sqlite
sqlite-web-archive:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-archive
restart: unless-stopped
ports:
- "8767:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/archive.db"]
sqlite-web-live:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-live
restart: unless-stopped
ports:
- "8768:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/db.sqlite"]
Read
requirements.txt
requirements.txt
Bash
Inspect a pipe directory
IN
ls /volume1/screenpipe/pipes/day-recap/ && cat /volume1/screenpipe/pipes/day-recap/pipe.json 2>/dev/null || ls /volume1/screenpipe/pipes/day-recap/
Copy code to clipboard
OUT
pipe.md
pipe.md
Read
cli.py
cli.py
Bash
List all pipes and their contents
IN
ls /volume1/screenpipe/pipes/ && for d in /volume1/screenpipe/pipes/*/; do echo "=== $d ==="; ls "$d"; done
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
=== /volume1/screenpipe/pipes/ai-habits/ ===
pipe.md
=== /volume1/screenpipe/pipes/day-recap/ ===
pipe.md
=== /volume1/screenpipe/pipes/meeting-summary/ ===
pipe.md
=== /volume1/screenpipe/pipes/standup-update/ ===
pipe.md
=== /volume1/screenpipe/pipes/time-breakdown/ ===
pipe.md
=== /volume1/screenpipe/pipes/video-export/ ===
pipe.md
Bash
Read pipe markdown files
IN
cat /volume1/screenpipe/pipes/day-recap/pipe.md && echo "===" && cat /volume1/screenpipe/pipes/meeting-summary/pipe.md 2>/dev/null | head -50
Copy code to clipboard
OUT
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
===
---
schedule: manual
enabled: true
template: true
title: Meeting Summary
description: "Summarize meeting transcript with key takeaways and action items"
icon: "🤝"
featured: false
---
Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.
Read screenpipe skill first.
Use this exact format:
## Meeting Summary
One sentence: what this meeting was about.
## Key Takeaways
- Top 3-5 important points discussed
- Include who said what when relevant
## Action Items
- [ ] Task — assigned to whom, deadline if mentioned
- [ ] Task — assigned to whom
## Decisions Made
- List any decisions or agreements reached
## Open Questions
- Anything unresolved or needing follow-up
Keep it concise and actionable.
Thinking
Thinking
Bash
Read summary consumer
IN
ls /volume1/screenpipe/app/consumers/ && cat /volume1/screenpipe/app/consumers/summary.py
Copy code to clipboard
OUT
activity.py
audio.py
elements.py
__init__.py
interactions.py
ocr.py
__pycache__
report.py
summary.py
"""AI summary generator using Claude."""
import os
from datetime import date
from typing import Any
from consumers.activity import app_time, summary_stats, browser_urls, ui_event_summary
from consumers.ocr import deduplicated_text
from consumers.audio import formatted_transcript
SUMMARY_TYPES = {
"day_recap": {
"title": "Day Recap",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
## Audio/speech:
{audio}
Write a concise day recap using EXACTLY this format:
## Summary
One sentence: what I mainly worked on today.
## Accomplishments
- Top 3 things I finished, with approximate times
- Name specific apps, files, or projects
## Key Moments
- Important things seen or heard, with timestamps
## Unfinished Work
- What to continue tomorrow
## Patterns
- Apps used most, topics that came up repeatedly
Only report what you can verify from the data. End with:
**Next step:** [most important thing to continue]""",
},
"standup": {
"title": "Standup Update",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
## Audio/speech:
{audio}
Write a brief standup update:
**Yesterday:** What I worked on (2-3 bullets)
**Today:** What I plan to continue (1-2 bullets)
**Blockers:** Any issues observed (or "None")
Keep it under 150 words. Only report what's verifiable from the data.""",
},
"focus_time": {
"title": "Focus & Distraction Analysis",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
Analyze focus vs distraction patterns:
## Deep Work Periods
- When and how long were sustained focus sessions?
- What was being worked on?
## Distractions
- Which apps/sites were used recreationally?
- How much time was lost to context switching?
## Recommendations
- 2-3 concrete suggestions to improve focus tomorrow
Be specific with times and app names.""",
},
}
def _build_context(for_date: date) -> dict[str, str]:
apps = app_time(for_date)
app_lines = "\n".join(f"- {a['app_name']}: {a['minutes']} min" for a in apps[:20])
urls = browser_urls(for_date, limit=20)
url_lines = "\n".join(
f"- {u['browser_url'][:100]} ({u['minutes']} min)" for u in urls
)
ui_rows = ui_event_summary(for_date)
ui_lines = "\n".join(
f"- {r['app_name']}: {r['clicks']} clicks, {r['keystrokes']} keys, {r['switches']} switches"
for r in ui_rows[:15]
)
ocr_rows = deduplicated_text(for_date, chunk_minutes=5)
ocr_lines = "\n".join(
f"[{r['bucket']}] {r['app_name']} / {r['window_name'] or ''}: {r['text'][:200]}"
for r in ocr_rows[:100]
)
audio = formatted_transcript(for_date)
return {
"app_time": app_lines or "(no app data)",
"browser_urls": url_lines or "(no browser data)",
"ui_events": ui_lines or "(no UI event data)",
"ocr_text": ocr_lines or "(no screen data)",
"audio": audio[:3000] if len(audio) > 3000 else audio,
}
def generate(
summary_type: str = "day_recap",
for_date: date | None = None,
api_key: str | None = None,
) -> dict[str, Any]:
"""Generate an AI summary. Returns dict with 'title', 'content', 'date'."""
import anthropic
d = for_date or date.today()
key = api_key or os.environ.get("ANTHROPIC_API_KEY", "")
if not key:
return {
"title": "Error",
"content": "ANTHROPIC_API_KEY not set. Add it to your .env file.",
"date": str(d),
}
spec = SUMMARY_TYPES.get(summary_type)
if not spec:
return {"title": "Error", "content": f"Unknown summary type: {summary_type}", "date": str(d)}
stats = summary_stats(d)
if stats["total_frames"] == 0:
return {
"title": spec["title"],
"content": f"No screen data found for {d}.",
"date": str(d),
}
ctx = _build_context(d)
prompt = spec["prompt"].format(**ctx)
client = anthropic.Anthropic(api_key=key)
message = client.messages.create(
model="claude-haiku-4-5-20251001",
max_tokens=1024,
messages=[{"role": "user", "content": prompt}],
)
return {
"title": spec["title"],
"content": message.content[0].text,
"date": str(d),
"stats": stats,
}
Thinking
Thinking
Bash
Read all pipe.md files
IN
for f in /volume1/screenpipe/pipes/*/pipe.md; do echo "=== $f ==="; cat "$f"; echo; done
Copy code to clipboard
OUT
=== /volume1/screenpipe/pipes/ai-habits/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: AI Habits
description: "How you use AI tools — patterns and insights"
icon: "🤖"
featured: true
---
Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.
Read screenpipe skill first.
Use this exact format:
## AI Tools Used
- List each tool with approximate time spent (e.g. "Claude: ~45min")
## What I Used Them For
- For each tool: coding, writing, research, or brainstorming
## Usage Patterns
- Do I switch between tools? Use them in bursts or steadily?
## Effectiveness
- Which tool appeared alongside completed work vs. abandoned attempts
If no AI usage is found, say so clearly. End with: "**Tip:** [one suggestion to use AI tools more effectively]"
=== /volume1/screenpipe/pipes/day-recap/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
=== /volume1/screenpipe/pipes/meeting-summary/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Meeting Summary
description: "Summarize meeting transcript with key takeaways and action items"
icon: "🤝"
featured: false
---
Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.
Read screenpipe skill first.
Use this exact format:
## Meeting Summary
One sentence: what this meeting was about.
## Key Takeaways
- Top 3-5 important points discussed
- Include who said what when relevant
## Action Items
- [ ] Task — assigned to whom, deadline if mentioned
- [ ] Task — assigned to whom
## Decisions Made
- List any decisions or agreements reached
## Open Questions
- Anything unresolved or needing follow-up
Keep it concise and actionable.
=== /volume1/screenpipe/pipes/standup-update/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Standup Update
description: "What you did, what's next, and any blockers"
icon: "🏢"
featured: true
---
Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.
Read screenpipe skill first.
Use this exact format:
## Yesterday
- What I worked on (name specific projects, files, tools, PRs)
## Today
- What I will work on next (based on unfinished tasks and recent activity)
## Blockers
- Issues I hit — errors, slow builds, waiting on someone
- If no blockers, write "None"
Keep it under 150 words. Copy-paste ready for a team standup.
=== /volume1/screenpipe/pipes/time-breakdown/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Time Breakdown
description: "Where your time went — by app, project, and category"
icon: "⏱"
featured: false
---
Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.
Read screenpipe skill first.
Use this exact format with durations and percentages:
## By Application
- List each app with duration and percentage, sorted by time (e.g. "VS Code: 2h 15min (28%)")
## By Category
- Group into: coding, meetings, browsing, writing, communication, other
- Show hours and percentage per category
## By Project
- Group related activities by project/topic. Name specific repos or tasks.
## Productivity Score
- Calculate: focused_work_hours / total_hours as a percentage
- Focused = coding + writing. Unfocused = browsing + switching.
End with: "**Suggestion:** [one specific change to improve tomorrow's productivity]"
=== /volume1/screenpipe/pipes/video-export/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Export Video Clip
description: "Create a video of your recent screen activity"
icon: "🎬"
featured: false
---
Export a video of my screen activity from the last 5 minutes.
Read screenpipe skill first.
Use the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.
If the export is large, suggest a lower fps or shorter time range.
Thinking
Thinking
Now I have a clear picture. The pipes are markdown prompt templates in...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⇧⌘E) - 1 unsaved file","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⌃⇧G) - 11 pending changes","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"11","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Run and Debug (⇧⌘D)","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X) - 2 require update, 1 requires restart","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Claude Code","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Containers","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"EXPLORER","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"EXPLORER","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"SCREENPIPE [SSH: NAS]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_f","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"OUTLINE","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"OUTLINE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"TIMELINE","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"TIMELINE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"app_settings.json, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync.sh, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_f, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync_updated.sh, preview, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"pipe.md, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":".env, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"","depth":28,"on_screen":true,"value":"","role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":29,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Implement and run pipe l…, Editor Group 2","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"Problems (⇧⌘M)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PROBLEMS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Output (⇧⌘U)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"OUTPUT","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Debug Console (⇧⌘Y)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DEBUG CONSOLE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Terminal (⌃`)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"TERMINAL","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Ports - 1 forwarded port","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PORTS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXTextArea","text":"Remote - SSH - Output","depth":27,"on_screen":true,"role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 8766","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sign In","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Sign In","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Plain Text","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 4","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 1, Col 1","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Downloading VS Code Server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Implement and run pipe logic","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Session history","depth":19,"on_screen":true,"help_text":"Session history","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New session","depth":19,"on_screen":true,"help_text":"New session","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Message actions","depth":24,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"main.py","depth":23,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lets implement logic with pipes. how can I run it?","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Let me look at the current project structure to understand what's already in place.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List project files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume1/screenpipe -type f | head -50 && echo \"---\" && ls /volume1/screenpipe","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/.DS_Store\n/volume1/screenpipe/screenpipe.db\n/volume1/screenpipe/screenpipe_sync.sh\n/volume1/screenpipe/app_settings.json\n/volume1/screenpipe/.gitignore\n/volume1/screenpipe/archive.db\n/volume1/screenpipe/db.sqlite\n/volume1/screenpipe/db.sqlite-wal\n/volume1/screenpipe/db.sqlite-shm\n/volume1/screenpipe/#recycle/desktop.ini\n/volume1/screenpipe/#recycle/db.sqlite\n/volume1/screenpipe/#recycle/Copy #1 of db.sqlite\n/volume1/screenpipe/#recycle/.DS_Store\n/volume1/screenpipe/#recycle/Copy #2 of db.sqlite\n/volume1/screenpipe/#recycle/archive.db\n/volume1/screenpipe/#recycle/Copy #1 of archive.db\n/volume1/screenpipe/#recycle/Copy #2 of archive.db\n/volume1/screenpipe/#recycle/Copy #3 of archive.db\n/volume1/screenpipe/#recycle/Copy #4 of archive.db\n/volume1/screenpipe/#recycle/Copy #5 of archive.db\n/volume1/screenpipe/#recycle/Copy #3 of db.sqlite\n/volume1/screenpipe/#recycle/Copy #4 of db.sqlite\n/volume1/screenpipe/#recycle/Copy #6 of archive.db\n/volume1/screenpipe/#recycle/test.txt\n/volume1/screenpipe/#recycle/Copy #7 of archive.db\n/volume1/screenpipe/#recycle/Copy #8 of archive.db\n/volume1/screenpipe/#recycle/archive.db-journal\n/volume1/screenpipe/#recycle/Copy #1 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #2 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #3 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #4 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #5 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #6 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #7 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #5 of db.sqlite\n/volume1/screenpipe/pipes/.DS_Store\n/volume1/screenpipe/app/.env\n/volume1/screenpipe/app/cli.py\n/volume1/screenpipe/app/.DS_Store\n/volume1/screenpipe/app/db.py\n/volume1/screenpipe/app/docker-compose.yml\n/volume1/screenpipe/app/main.py\n/volume1/screenpipe/app/requirements.txt\n/volume1/screenpipe/app/Dockerfile\n/volume1/screenpipe/data/.DS_Store\n/volume1/screenpipe/.git/description\n/volume1/screenpipe/.git/HEAD\n/volume1/screenpipe/.git/index\n/volume1/screenpipe/.git/COMMIT_EDITMSG\n/volume1/screenpipe/#recycle/data/.DS_Store\n---\napp\napp_settings.json\narchive.db\ndata\ndb.sqlite\ndb.sqlite-shm\ndb.sqlite-wal\npipes\n#recycle\nscreenpipe.db\nscreenpipe_sync.sh","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"main.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check pipes directory and docker-compose","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/ && ls /volume1/screenpipe/app/ && cat /volume1/screenpipe/app/docker-compose.yml","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ai-habits\nday-recap\nmeeting-summary\nstandup-update\ntime-breakdown\nvideo-export\ncli.py\nconsumers\ndb.py\ndocker-compose.yml\nDockerfile\nmain.py\n__pycache__\nrequirements.txt\nstatic\nservices:\n screenpipe-app:\n build: .\n container_name: screenpipe-app\n restart: unless-stopped\n ports:\n - \"8766:8000\"\n volumes:\n - /volume1/screenpipe:/data\n env_file:\n - .env\n environment:\n TZ: Europe/Sofia\n DB_PATH: /data/db.sqlite\n\n sqlite-web-archive:\n image: ghcr.io/coleifer/sqlite-web:latest\n container_name: screenpipe-sqlweb-archive\n restart: unless-stopped\n ports:\n - \"8767:8080\"\n volumes:\n - /volume1/screenpipe:/data\n command: [\"-H\", \"0.0.0.0\", \"-r\", \"/data/archive.db\"]\n\n sqlite-web-live:\n image: ghcr.io/coleifer/sqlite-web:latest\n container_name: screenpipe-sqlweb-live\n restart: unless-stopped\n ports:\n - \"8768:8080\"\n volumes:\n - /volume1/screenpipe:/data\n command: [\"-H\", \"0.0.0.0\", \"-r\", \"/data/db.sqlite\"]","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"requirements.txt","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"requirements.txt","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Inspect a pipe directory","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/day-recap/ && cat /volume1/screenpipe/pipes/day-recap/pipe.json 2>/dev/null || ls /volume1/screenpipe/pipes/day-recap/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"pipe.md\npipe.md","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"cli.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"cli.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List all pipes and their contents","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/ && for d in /volume1/screenpipe/pipes/*/; do echo \"=== $d ===\"; ls \"$d\"; done","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ai-habits\nday-recap\nmeeting-summary\nstandup-update\ntime-breakdown\nvideo-export\n=== /volume1/screenpipe/pipes/ai-habits/ ===\npipe.md\n=== /volume1/screenpipe/pipes/day-recap/ ===\npipe.md\n=== /volume1/screenpipe/pipes/meeting-summary/ ===\npipe.md\n=== /volume1/screenpipe/pipes/standup-update/ ===\npipe.md\n=== /volume1/screenpipe/pipes/time-breakdown/ ===\npipe.md\n=== /volume1/screenpipe/pipes/video-export/ ===\npipe.md","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read pipe markdown files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cat /volume1/screenpipe/pipes/day-recap/pipe.md && echo \"===\" && cat /volume1/screenpipe/pipes/meeting-summary/pipe.md 2>/dev/null | head -50","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Day Recap\ndescription: \"Today's accomplishments, key moments, and unfinished work\"\nicon: \"📋\"\nfeatured: true\n---\n\nAnalyze my screen and audio recordings from today (last 16 hours only). \n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Summary\nOne sentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM\")\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things I saw, said, or heard — with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow — name the app/file/task\n\n## Patterns\n- Apps I used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"\n===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Meeting Summary\ndescription: \"Summarize meeting transcript with key takeaways and action items\"\nicon: \"🤝\"\nfeatured: false\n---\n\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Meeting Summary\nOne sentence: what this meeting was about.\n\n## Key Takeaways\n- Top 3-5 important points discussed\n- Include who said what when relevant\n\n## Action Items\n- [ ] Task — assigned to whom, deadline if mentioned\n- [ ] Task — assigned to whom\n\n## Decisions Made\n- List any decisions or agreements reached\n\n## Open Questions\n- Anything unresolved or needing follow-up\n\nKeep it concise and actionable.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read summary consumer","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/app/consumers/ && cat /volume1/screenpipe/app/consumers/summary.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"activity.py\naudio.py\nelements.py\n__init__.py\ninteractions.py\nocr.py\n__pycache__\nreport.py\nsummary.py\n\"\"\"AI summary generator using Claude.\"\"\"\nimport os\nfrom datetime import date\nfrom typing import Any\n\nfrom consumers.activity import app_time, summary_stats, browser_urls, ui_event_summary\nfrom consumers.ocr import deduplicated_text\nfrom consumers.audio import formatted_transcript\n\n\nSUMMARY_TYPES = {\n \"day_recap\": {\n \"title\": \"Day Recap\",\n \"prompt\": \"\"\"\\\nYou are analyzing a person's computer activity for the day.\n\n## App usage (minutes per app):\n{app_time}\n\n## Browser URLs visited:\n{browser_urls}\n\n## UI activity per app (clicks / keystrokes / app-switches):\n{ui_events}\n\n## Screen content (sampled every 5 minutes):\n{ocr_text}\n\n## Audio/speech:\n{audio}\n\nWrite a concise day recap using EXACTLY this format:\n\n## Summary\nOne sentence: what I mainly worked on today.\n\n## Accomplishments\n- Top 3 things I finished, with approximate times\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things seen or heard, with timestamps\n\n## Unfinished Work\n- What to continue tomorrow\n\n## Patterns\n- Apps used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with:\n**Next step:** [most important thing to continue]\"\"\",\n },\n \"standup\": {\n \"title\": \"Standup Update\",\n \"prompt\": \"\"\"\\\nYou are analyzing a person's computer activity for the day.\n\n## App usage (minutes per app):\n{app_time}\n\n## Browser URLs visited:\n{browser_urls}\n\n## UI activity per app (clicks / keystrokes / app-switches):\n{ui_events}\n\n## Screen content (sampled every 5 minutes):\n{ocr_text}\n\n## Audio/speech:\n{audio}\n\nWrite a brief standup update:\n\n**Yesterday:** What I worked on (2-3 bullets)\n**Today:** What I plan to continue (1-2 bullets)\n**Blockers:** Any issues observed (or \"None\")\n\nKeep it under 150 words. Only report what's verifiable from the data.\"\"\",\n },\n \"focus_time\": {\n \"title\": \"Focus & Distraction Analysis\",\n \"prompt\": \"\"\"\\\nYou are analyzing a person's computer activity for the day.\n\n## App usage (minutes per app):\n{app_time}\n\n## Browser URLs visited:\n{browser_urls}\n\n## UI activity per app (clicks / keystrokes / app-switches):\n{ui_events}\n\n## Screen content (sampled every 5 minutes):\n{ocr_text}\n\nAnalyze focus vs distraction patterns:\n\n## Deep Work Periods\n- When and how long were sustained focus sessions?\n- What was being worked on?\n\n## Distractions\n- Which apps/sites were used recreationally?\n- How much time was lost to context switching?\n\n## Recommendations\n- 2-3 concrete suggestions to improve focus tomorrow\n\nBe specific with times and app names.\"\"\",\n },\n}\n\n\ndef _build_context(for_date: date) -> dict[str, str]:\n apps = app_time(for_date)\n app_lines = \"\\n\".join(f\"- {a['app_name']}: {a['minutes']} min\" for a in apps[:20])\n\n urls = browser_urls(for_date, limit=20)\n url_lines = \"\\n\".join(\n f\"- {u['browser_url'][:100]} ({u['minutes']} min)\" for u in urls\n )\n\n ui_rows = ui_event_summary(for_date)\n ui_lines = \"\\n\".join(\n f\"- {r['app_name']}: {r['clicks']} clicks, {r['keystrokes']} keys, {r['switches']} switches\"\n for r in ui_rows[:15]\n )\n\n ocr_rows = deduplicated_text(for_date, chunk_minutes=5)\n ocr_lines = \"\\n\".join(\n f\"[{r['bucket']}] {r['app_name']} / {r['window_name'] or ''}: {r['text'][:200]}\"\n for r in ocr_rows[:100]\n )\n\n audio = formatted_transcript(for_date)\n\n return {\n \"app_time\": app_lines or \"(no app data)\",\n \"browser_urls\": url_lines or \"(no browser data)\",\n \"ui_events\": ui_lines or \"(no UI event data)\",\n \"ocr_text\": ocr_lines or \"(no screen data)\",\n \"audio\": audio[:3000] if len(audio) > 3000 else audio,\n }\n\n\ndef generate(\n summary_type: str = \"day_recap\",\n for_date: date | None = None,\n api_key: str | None = None,\n) -> dict[str, Any]:\n \"\"\"Generate an AI summary. Returns dict with 'title', 'content', 'date'.\"\"\"\n import anthropic\n\n d = for_date or date.today()\n key = api_key or os.environ.get(\"ANTHROPIC_API_KEY\", \"\")\n if not key:\n return {\n \"title\": \"Error\",\n \"content\": \"ANTHROPIC_API_KEY not set. Add it to your .env file.\",\n \"date\": str(d),\n }\n\n spec = SUMMARY_TYPES.get(summary_type)\n if not spec:\n return {\"title\": \"Error\", \"content\": f\"Unknown summary type: {summary_type}\", \"date\": str(d)}\n\n stats = summary_stats(d)\n if stats[\"total_frames\"] == 0:\n return {\n \"title\": spec[\"title\"],\n \"content\": f\"No screen data found for {d}.\",\n \"date\": str(d),\n }\n\n ctx = _build_context(d)\n prompt = spec[\"prompt\"].format(**ctx)\n\n client = anthropic.Anthropic(api_key=key)\n message = client.messages.create(\n model=\"claude-haiku-4-5-20251001\",\n max_tokens=1024,\n messages=[{\"role\": \"user\", \"content\": prompt}],\n )\n\n return {\n \"title\": spec[\"title\"],\n \"content\": message.content[0].text,\n \"date\": str(d),\n \"stats\": stats,\n }","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read all pipe.md files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for f in /volume1/screenpipe/pipes/*/pipe.md; do echo \"=== $f ===\"; cat \"$f\"; echo; done","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"=== /volume1/screenpipe/pipes/ai-habits/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: AI Habits\ndescription: \"How you use AI tools — patterns and insights\"\nicon: \"🤖\"\nfeatured: true\n---\n\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## AI Tools Used\n- List each tool with approximate time spent (e.g. \"Claude: ~45min\")\n\n## What I Used Them For\n- For each tool: coding, writing, research, or brainstorming\n\n## Usage Patterns\n- Do I switch between tools? Use them in bursts or steadily?\n\n## Effectiveness\n- Which tool appeared alongside completed work vs. abandoned attempts\n\nIf no AI usage is found, say so clearly. End with: \"**Tip:** [one suggestion to use AI tools more effectively]\"\n\n=== /volume1/screenpipe/pipes/day-recap/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Day Recap\ndescription: \"Today's accomplishments, key moments, and unfinished work\"\nicon: \"📋\"\nfeatured: true\n---\n\nAnalyze my screen and audio recordings from today (last 16 hours only). \n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Summary\nOne sentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM\")\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things I saw, said, or heard — with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow — name the app/file/task\n\n## Patterns\n- Apps I used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"\n\n=== /volume1/screenpipe/pipes/meeting-summary/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Meeting Summary\ndescription: \"Summarize meeting transcript with key takeaways and action items\"\nicon: \"🤝\"\nfeatured: false\n---\n\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Meeting Summary\nOne sentence: what this meeting was about.\n\n## Key Takeaways\n- Top 3-5 important points discussed\n- Include who said what when relevant\n\n## Action Items\n- [ ] Task — assigned to whom, deadline if mentioned\n- [ ] Task — assigned to whom\n\n## Decisions Made\n- List any decisions or agreements reached\n\n## Open Questions\n- Anything unresolved or needing follow-up\n\nKeep it concise and actionable.\n\n=== /volume1/screenpipe/pipes/standup-update/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Standup Update\ndescription: \"What you did, what's next, and any blockers\"\nicon: \"🏢\"\nfeatured: true\n---\n\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Yesterday\n- What I worked on (name specific projects, files, tools, PRs)\n\n## Today\n- What I will work on next (based on unfinished tasks and recent activity)\n\n## Blockers\n- Issues I hit — errors, slow builds, waiting on someone\n- If no blockers, write \"None\"\n\nKeep it under 150 words. Copy-paste ready for a team standup.\n\n=== /volume1/screenpipe/pipes/time-breakdown/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Time Breakdown\ndescription: \"Where your time went — by app, project, and category\"\nicon: \"⏱\"\nfeatured: false\n---\n\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\n\nRead screenpipe skill first.\n\nUse this exact format with durations and percentages:\n\n## By Application\n- List each app with duration and percentage, sorted by time (e.g. \"VS Code: 2h 15min (28%)\")\n\n## By Category\n- Group into: coding, meetings, browsing, writing, communication, other\n- Show hours and percentage per category\n\n## By Project\n- Group related activities by project/topic. Name specific repos or tasks.\n\n## Productivity Score\n- Calculate: focused_work_hours / total_hours as a percentage\n- Focused = coding + writing. Unfocused = browsing + switching.\n\nEnd with: \"**Suggestion:** [one specific change to improve tomorrow's productivity]\"\n\n=== /volume1/screenpipe/pipes/video-export/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Export Video Clip\ndescription: \"Create a video of your recent screen activity\"\nicon: \"🎬\"\nfeatured: false\n---\n\nExport a video of my screen activity from the last 5 minutes.\n\nRead screenpipe skill first.\n\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\n\nIf the export is large, suggest a lower fps or shorter time range.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Now I have a clear picture. The pipes are markdown prompt templates in","depth":23,"on_screen":false,"role_description":"text"}]...
|
-9027677748614600323
|
-8834989637451658128
|
click
|
accessibility
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_f
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_f, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1
Implement and run pipe l…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports - 1 forwarded port
PORTS
1
Remote - SSH - Output
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 8766
1
Notifications
Sign In
Sign In
Plain Text
Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions
LF
UTF-8
Spaces: 4
Ln 1, Col 1
Info: Downloading VS Code Server...
Implement and run pipe logic
Session history
New session
Message actions
main.py
main.py
lets implement logic with pipes. how can I run it?
Thinking
Thinking
Let me look at the current project structure to understand what's already in place.
Bash
List project files
IN
find /volume1/screenpipe -type f | head -50 && echo "---" && ls /volume1/screenpipe
Copy code to clipboard
OUT
/volume1/screenpipe/.DS_Store
/volume1/screenpipe/screenpipe.db
/volume1/screenpipe/screenpipe_sync.sh
/volume1/screenpipe/app_settings.json
/volume1/screenpipe/.gitignore
/volume1/screenpipe/archive.db
/volume1/screenpipe/db.sqlite
/volume1/screenpipe/db.sqlite-wal
/volume1/screenpipe/db.sqlite-shm
/volume1/screenpipe/#recycle/desktop.ini
/volume1/screenpipe/#recycle/db.sqlite
/volume1/screenpipe/#recycle/Copy #1 of db.sqlite
/volume1/screenpipe/#recycle/.DS_Store
/volume1/screenpipe/#recycle/Copy #2 of db.sqlite
/volume1/screenpipe/#recycle/archive.db
/volume1/screenpipe/#recycle/Copy #1 of archive.db
/volume1/screenpipe/#recycle/Copy #2 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of archive.db
/volume1/screenpipe/#recycle/Copy #4 of archive.db
/volume1/screenpipe/#recycle/Copy #5 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of db.sqlite
/volume1/screenpipe/#recycle/Copy #4 of db.sqlite
/volume1/screenpipe/#recycle/Copy #6 of archive.db
/volume1/screenpipe/#recycle/test.txt
/volume1/screenpipe/#recycle/Copy #7 of archive.db
/volume1/screenpipe/#recycle/Copy #8 of archive.db
/volume1/screenpipe/#recycle/archive.db-journal
/volume1/screenpipe/#recycle/Copy #1 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #2 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #3 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #4 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #6 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #7 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of db.sqlite
/volume1/screenpipe/pipes/.DS_Store
/volume1/screenpipe/app/.env
/volume1/screenpipe/app/cli.py
/volume1/screenpipe/app/.DS_Store
/volume1/screenpipe/app/db.py
/volume1/screenpipe/app/docker-compose.yml
/volume1/screenpipe/app/main.py
/volume1/screenpipe/app/requirements.txt
/volume1/screenpipe/app/Dockerfile
/volume1/screenpipe/data/.DS_Store
/volume1/screenpipe/.git/description
/volume1/screenpipe/.git/HEAD
/volume1/screenpipe/.git/index
/volume1/screenpipe/.git/COMMIT_EDITMSG
/volume1/screenpipe/#recycle/data/.DS_Store
---
app
app_settings.json
archive.db
data
db.sqlite
db.sqlite-shm
db.sqlite-wal
pipes
#recycle
screenpipe.db
screenpipe_sync.sh
Read
main.py
main.py
Bash
Check pipes directory and docker-compose
IN
ls /volume1/screenpipe/pipes/ && ls /volume1/screenpipe/app/ && cat /volume1/screenpipe/app/docker-compose.yml
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
cli.py
consumers
db.py
docker-compose.yml
Dockerfile
main.py
__pycache__
requirements.txt
static
services:
screenpipe-app:
build: .
container_name: screenpipe-app
restart: unless-stopped
ports:
- "8766:8000"
volumes:
- /volume1/screenpipe:/data
env_file:
- .env
environment:
TZ: Europe/Sofia
DB_PATH: /data/db.sqlite
sqlite-web-archive:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-archive
restart: unless-stopped
ports:
- "8767:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/archive.db"]
sqlite-web-live:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-live
restart: unless-stopped
ports:
- "8768:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/db.sqlite"]
Read
requirements.txt
requirements.txt
Bash
Inspect a pipe directory
IN
ls /volume1/screenpipe/pipes/day-recap/ && cat /volume1/screenpipe/pipes/day-recap/pipe.json 2>/dev/null || ls /volume1/screenpipe/pipes/day-recap/
Copy code to clipboard
OUT
pipe.md
pipe.md
Read
cli.py
cli.py
Bash
List all pipes and their contents
IN
ls /volume1/screenpipe/pipes/ && for d in /volume1/screenpipe/pipes/*/; do echo "=== $d ==="; ls "$d"; done
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
=== /volume1/screenpipe/pipes/ai-habits/ ===
pipe.md
=== /volume1/screenpipe/pipes/day-recap/ ===
pipe.md
=== /volume1/screenpipe/pipes/meeting-summary/ ===
pipe.md
=== /volume1/screenpipe/pipes/standup-update/ ===
pipe.md
=== /volume1/screenpipe/pipes/time-breakdown/ ===
pipe.md
=== /volume1/screenpipe/pipes/video-export/ ===
pipe.md
Bash
Read pipe markdown files
IN
cat /volume1/screenpipe/pipes/day-recap/pipe.md && echo "===" && cat /volume1/screenpipe/pipes/meeting-summary/pipe.md 2>/dev/null | head -50
Copy code to clipboard
OUT
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
===
---
schedule: manual
enabled: true
template: true
title: Meeting Summary
description: "Summarize meeting transcript with key takeaways and action items"
icon: "🤝"
featured: false
---
Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.
Read screenpipe skill first.
Use this exact format:
## Meeting Summary
One sentence: what this meeting was about.
## Key Takeaways
- Top 3-5 important points discussed
- Include who said what when relevant
## Action Items
- [ ] Task — assigned to whom, deadline if mentioned
- [ ] Task — assigned to whom
## Decisions Made
- List any decisions or agreements reached
## Open Questions
- Anything unresolved or needing follow-up
Keep it concise and actionable.
Thinking
Thinking
Bash
Read summary consumer
IN
ls /volume1/screenpipe/app/consumers/ && cat /volume1/screenpipe/app/consumers/summary.py
Copy code to clipboard
OUT
activity.py
audio.py
elements.py
__init__.py
interactions.py
ocr.py
__pycache__
report.py
summary.py
"""AI summary generator using Claude."""
import os
from datetime import date
from typing import Any
from consumers.activity import app_time, summary_stats, browser_urls, ui_event_summary
from consumers.ocr import deduplicated_text
from consumers.audio import formatted_transcript
SUMMARY_TYPES = {
"day_recap": {
"title": "Day Recap",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
## Audio/speech:
{audio}
Write a concise day recap using EXACTLY this format:
## Summary
One sentence: what I mainly worked on today.
## Accomplishments
- Top 3 things I finished, with approximate times
- Name specific apps, files, or projects
## Key Moments
- Important things seen or heard, with timestamps
## Unfinished Work
- What to continue tomorrow
## Patterns
- Apps used most, topics that came up repeatedly
Only report what you can verify from the data. End with:
**Next step:** [most important thing to continue]""",
},
"standup": {
"title": "Standup Update",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
## Audio/speech:
{audio}
Write a brief standup update:
**Yesterday:** What I worked on (2-3 bullets)
**Today:** What I plan to continue (1-2 bullets)
**Blockers:** Any issues observed (or "None")
Keep it under 150 words. Only report what's verifiable from the data.""",
},
"focus_time": {
"title": "Focus & Distraction Analysis",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
Analyze focus vs distraction patterns:
## Deep Work Periods
- When and how long were sustained focus sessions?
- What was being worked on?
## Distractions
- Which apps/sites were used recreationally?
- How much time was lost to context switching?
## Recommendations
- 2-3 concrete suggestions to improve focus tomorrow
Be specific with times and app names.""",
},
}
def _build_context(for_date: date) -> dict[str, str]:
apps = app_time(for_date)
app_lines = "\n".join(f"- {a['app_name']}: {a['minutes']} min" for a in apps[:20])
urls = browser_urls(for_date, limit=20)
url_lines = "\n".join(
f"- {u['browser_url'][:100]} ({u['minutes']} min)" for u in urls
)
ui_rows = ui_event_summary(for_date)
ui_lines = "\n".join(
f"- {r['app_name']}: {r['clicks']} clicks, {r['keystrokes']} keys, {r['switches']} switches"
for r in ui_rows[:15]
)
ocr_rows = deduplicated_text(for_date, chunk_minutes=5)
ocr_lines = "\n".join(
f"[{r['bucket']}] {r['app_name']} / {r['window_name'] or ''}: {r['text'][:200]}"
for r in ocr_rows[:100]
)
audio = formatted_transcript(for_date)
return {
"app_time": app_lines or "(no app data)",
"browser_urls": url_lines or "(no browser data)",
"ui_events": ui_lines or "(no UI event data)",
"ocr_text": ocr_lines or "(no screen data)",
"audio": audio[:3000] if len(audio) > 3000 else audio,
}
def generate(
summary_type: str = "day_recap",
for_date: date | None = None,
api_key: str | None = None,
) -> dict[str, Any]:
"""Generate an AI summary. Returns dict with 'title', 'content', 'date'."""
import anthropic
d = for_date or date.today()
key = api_key or os.environ.get("ANTHROPIC_API_KEY", "")
if not key:
return {
"title": "Error",
"content": "ANTHROPIC_API_KEY not set. Add it to your .env file.",
"date": str(d),
}
spec = SUMMARY_TYPES.get(summary_type)
if not spec:
return {"title": "Error", "content": f"Unknown summary type: {summary_type}", "date": str(d)}
stats = summary_stats(d)
if stats["total_frames"] == 0:
return {
"title": spec["title"],
"content": f"No screen data found for {d}.",
"date": str(d),
}
ctx = _build_context(d)
prompt = spec["prompt"].format(**ctx)
client = anthropic.Anthropic(api_key=key)
message = client.messages.create(
model="claude-haiku-4-5-20251001",
max_tokens=1024,
messages=[{"role": "user", "content": prompt}],
)
return {
"title": spec["title"],
"content": message.content[0].text,
"date": str(d),
"stats": stats,
}
Thinking
Thinking
Bash
Read all pipe.md files
IN
for f in /volume1/screenpipe/pipes/*/pipe.md; do echo "=== $f ==="; cat "$f"; echo; done
Copy code to clipboard
OUT
=== /volume1/screenpipe/pipes/ai-habits/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: AI Habits
description: "How you use AI tools — patterns and insights"
icon: "🤖"
featured: true
---
Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.
Read screenpipe skill first.
Use this exact format:
## AI Tools Used
- List each tool with approximate time spent (e.g. "Claude: ~45min")
## What I Used Them For
- For each tool: coding, writing, research, or brainstorming
## Usage Patterns
- Do I switch between tools? Use them in bursts or steadily?
## Effectiveness
- Which tool appeared alongside completed work vs. abandoned attempts
If no AI usage is found, say so clearly. End with: "**Tip:** [one suggestion to use AI tools more effectively]"
=== /volume1/screenpipe/pipes/day-recap/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
=== /volume1/screenpipe/pipes/meeting-summary/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Meeting Summary
description: "Summarize meeting transcript with key takeaways and action items"
icon: "🤝"
featured: false
---
Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.
Read screenpipe skill first.
Use this exact format:
## Meeting Summary
One sentence: what this meeting was about.
## Key Takeaways
- Top 3-5 important points discussed
- Include who said what when relevant
## Action Items
- [ ] Task — assigned to whom, deadline if mentioned
- [ ] Task — assigned to whom
## Decisions Made
- List any decisions or agreements reached
## Open Questions
- Anything unresolved or needing follow-up
Keep it concise and actionable.
=== /volume1/screenpipe/pipes/standup-update/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Standup Update
description: "What you did, what's next, and any blockers"
icon: "🏢"
featured: true
---
Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.
Read screenpipe skill first.
Use this exact format:
## Yesterday
- What I worked on (name specific projects, files, tools, PRs)
## Today
- What I will work on next (based on unfinished tasks and recent activity)
## Blockers
- Issues I hit — errors, slow builds, waiting on someone
- If no blockers, write "None"
Keep it under 150 words. Copy-paste ready for a team standup.
=== /volume1/screenpipe/pipes/time-breakdown/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Time Breakdown
description: "Where your time went — by app, project, and category"
icon: "⏱"
featured: false
---
Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.
Read screenpipe skill first.
Use this exact format with durations and percentages:
## By Application
- List each app with duration and percentage, sorted by time (e.g. "VS Code: 2h 15min (28%)")
## By Category
- Group into: coding, meetings, browsing, writing, communication, other
- Show hours and percentage per category
## By Project
- Group related activities by project/topic. Name specific repos or tasks.
## Productivity Score
- Calculate: focused_work_hours / total_hours as a percentage
- Focused = coding + writing. Unfocused = browsing + switching.
End with: "**Suggestion:** [one specific change to improve tomorrow's productivity]"
=== /volume1/screenpipe/pipes/video-export/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Export Video Clip
description: "Create a video of your recent screen activity"
icon: "🎬"
featured: false
---
Export a video of my screen activity from the last 5 minutes.
Read screenpipe skill first.
Use the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.
If the export is large, suggest a lower fps or shorter time range.
Thinking
Thinking
Now I have a clear picture. The pipes are markdown prompt templates in...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
26243
|
1091
|
1
|
2026-05-12T12:15:13.975617+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778588113975_m2.jpg...
|
Code
|
screenpipe_f — screenpipe [SSH: nas]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_f
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_f, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1
Implement and run pipe l…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports - 1 forwarded port
PORTS
1
Remote - SSH - Output
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 8766
1
Notifications
Sign In
Sign In
Plain Text
Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions
LF
UTF-8
Spaces: 4
Ln 1, Col 1
Info: Downloading VS Code Server...
Implement and run pipe logic
Session history
New session
Message actions
main.py
main.py
lets implement logic with pipes. how can I run it?
Thinking
Thinking
Let me look at the current project structure to understand what's already in place.
Bash
List project files
IN
find /volume1/screenpipe -type f | head -50 && echo "---" && ls /volume1/screenpipe
Copy code to clipboard
OUT
/volume1/screenpipe/.DS_Store
/volume1/screenpipe/screenpipe.db
/volume1/screenpipe/screenpipe_sync.sh
/volume1/screenpipe/app_settings.json
/volume1/screenpipe/.gitignore
/volume1/screenpipe/archive.db
/volume1/screenpipe/db.sqlite
/volume1/screenpipe/db.sqlite-wal
/volume1/screenpipe/db.sqlite-shm
/volume1/screenpipe/#recycle/desktop.ini
/volume1/screenpipe/#recycle/db.sqlite
/volume1/screenpipe/#recycle/Copy #1 of db.sqlite
/volume1/screenpipe/#recycle/.DS_Store
/volume1/screenpipe/#recycle/Copy #2 of db.sqlite
/volume1/screenpipe/#recycle/archive.db
/volume1/screenpipe/#recycle/Copy #1 of archive.db
/volume1/screenpipe/#recycle/Copy #2 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of archive.db
/volume1/screenpipe/#recycle/Copy #4 of archive.db
/volume1/screenpipe/#recycle/Copy #5 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of db.sqlite
/volume1/screenpipe/#recycle/Copy #4 of db.sqlite
/volume1/screenpipe/#recycle/Copy #6 of archive.db
/volume1/screenpipe/#recycle/test.txt
/volume1/screenpipe/#recycle/Copy #7 of archive.db
/volume1/screenpipe/#recycle/Copy #8 of archive.db
/volume1/screenpipe/#recycle/archive.db-journal
/volume1/screenpipe/#recycle/Copy #1 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #2 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #3 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #4 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #6 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #7 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of db.sqlite
/volume1/screenpipe/pipes/.DS_Store
/volume1/screenpipe/app/.env
/volume1/screenpipe/app/cli.py
/volume1/screenpipe/app/.DS_Store
/volume1/screenpipe/app/db.py
/volume1/screenpipe/app/docker-compose.yml
/volume1/screenpipe/app/main.py
/volume1/screenpipe/app/requirements.txt
/volume1/screenpipe/app/Dockerfile
/volume1/screenpipe/data/.DS_Store
/volume1/screenpipe/.git/description
/volume1/screenpipe/.git/HEAD
/volume1/screenpipe/.git/index
/volume1/screenpipe/.git/COMMIT_EDITMSG
/volume1/screenpipe/#recycle/data/.DS_Store
---
app
app_settings.json
archive.db
data
db.sqlite
db.sqlite-shm
db.sqlite-wal
pipes
#recycle
screenpipe.db
screenpipe_sync.sh
Read
main.py
main.py
Bash
Check pipes directory and docker-compose
IN
ls /volume1/screenpipe/pipes/ && ls /volume1/screenpipe/app/ && cat /volume1/screenpipe/app/docker-compose.yml
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
cli.py
consumers
db.py
docker-compose.yml
Dockerfile
main.py
__pycache__
requirements.txt
static
services:
screenpipe-app:
build: .
container_name: screenpipe-app
restart: unless-stopped
ports:
- "8766:8000"
volumes:
- /volume1/screenpipe:/data
env_file:
- .env
environment:
TZ: Europe/Sofia
DB_PATH: /data/db.sqlite
sqlite-web-archive:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-archive
restart: unless-stopped
ports:
- "8767:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/archive.db"]
sqlite-web-live:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-live
restart: unless-stopped
ports:
- "8768:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/db.sqlite"]
Read
requirements.txt
requirements.txt
Bash
Inspect a pipe directory
IN
ls /volume1/screenpipe/pipes/day-recap/ && cat /volume1/screenpipe/pipes/day-recap/pipe.json 2>/dev/null || ls /volume1/screenpipe/pipes/day-recap/
Copy code to clipboard
OUT
pipe.md
pipe.md
Read
cli.py
cli.py
Bash
List all pipes and their contents
IN
ls /volume1/screenpipe/pipes/ && for d in /volume1/screenpipe/pipes/*/; do echo "=== $d ==="; ls "$d"; done
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
=== /volume1/screenpipe/pipes/ai-habits/ ===
pipe.md
=== /volume1/screenpipe/pipes/day-recap/ ===
pipe.md
=== /volume1/screenpipe/pipes/meeting-summary/ ===
pipe.md
=== /volume1/screenpipe/pipes/standup-update/ ===
pipe.md
=== /volume1/screenpipe/pipes/time-breakdown/ ===
pipe.md
=== /volume1/screenpipe/pipes/video-export/ ===
pipe.md
Bash
Read pipe markdown files
IN
cat /volume1/screenpipe/pipes/day-recap/pipe.md && echo "===" && cat /volume1/screenpipe/pipes/meeting-summary/pipe.md 2>/dev/null | head -50
Copy code to clipboard
OUT
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
===
---
schedule: manual
enabled: true
template: true
title: Meeting Summary
description: "Summarize meeting transcript with key takeaways and action items"
icon: "🤝"
featured: false
---
Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.
Read screenpipe skill first.
Use this exact format:
## Meeting Summary
One sentence: what this meeting was about.
## Key Takeaways
- Top 3-5 important points discussed
- Include who said what when relevant
## Action Items
- [ ] Task — assigned to whom, deadline if mentioned
- [ ] Task — assigned to whom
## Decisions Made
- List any decisions or agreements reached
## Open Questions
- Anything unresolved or needing follow-up
Keep it concise and actionable.
Thinking
Thinking
Bash
Read summary consumer
IN
ls /volume1/screenpipe/app/consumers/ && cat /volume1/screenpipe/app/consumers/summary.py
Copy code to clipboard
OUT
activity.py
audio.py
elements.py
__init__.py
interactions.py
ocr.py
__pycache__
report.py
summary.py
"""AI summary generator using Claude."""
import os
from datetime import date
from typing import Any
from consumers.activity import app_time, summary_stats, browser_urls, ui_event_summary
from consumers.ocr import deduplicated_text
from consumers.audio import formatted_transcript
SUMMARY_TYPES = {
"day_recap": {
"title": "Day Recap",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
## Audio/speech:
{audio}
Write a concise day recap using EXACTLY this format:
## Summary
One sentence: what I mainly worked on today.
## Accomplishments
- Top 3 things I finished, with approximate times
- Name specific apps, files, or projects
## Key Moments
- Important things seen or heard, with timestamps
## Unfinished Work
- What to continue tomorrow
## Patterns
- Apps used most, topics that came up repeatedly
Only report what you can verify from the data. End with:
**Next step:** [most important thing to continue]""",
},
"standup": {
"title": "Standup Update",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
## Audio/speech:
{audio}
Write a brief standup update:
**Yesterday:** What I worked on (2-3 bullets)
**Today:** What I plan to continue (1-2 bullets)
**Blockers:** Any issues observed (or "None")
Keep it under 150 words. Only report what's verifiable from the data.""",
},
"focus_time": {
"title": "Focus & Distraction Analysis",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
Analyze focus vs distraction patterns:
## Deep Work Periods
- When and how long were sustained focus sessions?
- What was being worked on?
## Distractions
- Which apps/sites were used recreationally?
- How much time was lost to context switching?
## Recommendations
- 2-3 concrete suggestions to improve focus tomorrow
Be specific with times and app names.""",
},
}
def _build_context(for_date: date) -> dict[str, str]:
apps = app_time(for_date)
app_lines = "\n".join(f"- {a['app_name']}: {a['minutes']} min" for a in apps[:20])
urls = browser_urls(for_date, limit=20)
url_lines = "\n".join(
f"- {u['browser_url'][:100]} ({u['minutes']} min)" for u in urls
)
ui_rows = ui_event_summary(for_date)
ui_lines = "\n".join(
f"- {r['app_name']}: {r['clicks']} clicks, {r['keystrokes']} keys, {r['switches']} switches"
for r in ui_rows[:15]
)
ocr_rows = deduplicated_text(for_date, chunk_minutes=5)
ocr_lines = "\n".join(
f"[{r['bucket']}] {r['app_name']} / {r['window_name'] or ''}: {r['text'][:200]}"
for r in ocr_rows[:100]
)
audio = formatted_transcript(for_date)
return {
"app_time": app_lines or "(no app data)",
"browser_urls": url_lines or "(no browser data)",
"ui_events": ui_lines or "(no UI event data)",
"ocr_text": ocr_lines or "(no screen data)",
"audio": audio[:3000] if len(audio) > 3000 else audio,
}
def generate(
summary_type: str = "day_recap",
for_date: date | None = None,
api_key: str | None = None,
) -> dict[str, Any]:
"""Generate an AI summary. Returns dict with 'title', 'content', 'date'."""
import anthropic
d = for_date or date.today()
key = api_key or os.environ.get("ANTHROPIC_API_KEY", "")
if not key:
return {
"title": "Error",
"content": "ANTHROPIC_API_KEY not set. Add it to your .env file.",
"date": str(d),
}
spec = SUMMARY_TYPES.get(summary_type)
if not spec:
return {"title": "Error", "content": f"Unknown summary type: {summary_type}", "date": str(d)}
stats = summary_stats(d)
if stats["total_frames"] == 0:
return {
"title": spec["title"],
"content": f"No screen data found for {d}.",
"date": str(d),
}
ctx = _build_context(d)
prompt = spec["prompt"].format(**ctx)
client = anthropic.Anthropic(api_key=key)
message = client.messages.create(
model="claude-haiku-4-5-20251001",
max_tokens=1024,
messages=[{"role": "user", "content": prompt}],
)
return {
"title": spec["title"],
"content": message.content[0].text,
"date": str(d),
"stats": stats,
}
Thinking
Thinking
Bash
Read all pipe.md files
IN
for f in /volume1/screenpipe/pipes/*/pipe.md; do echo "=== $f ==="; cat "$f"; echo; done
Copy code to clipboard
OUT
=== /volume1/screenpipe/pipes/ai-habits/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: AI Habits
description: "How you use AI tools — patterns and insights"
icon: "🤖"
featured: true
---
Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.
Read screenpipe skill first.
Use this exact format:
## AI Tools Used
- List each tool with approximate time spent (e.g. "Claude: ~45min")
## What I Used Them For
- For each tool: coding, writing, research, or brainstorming
## Usage Patterns
- Do I switch between tools? Use them in bursts or steadily?
## Effectiveness
- Which tool appeared alongside completed work vs. abandoned attempts
If no AI usage is found, say so clearly. End with: "**Tip:** [one suggestion to use AI tools more effectively]"
=== /volume1/screenpipe/pipes/day-recap/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
=== /volume1/screenpipe/pipes/meeting-summary/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Meeting Summary
description: "Summarize meeting transcript with key takeaways and action items"
icon: "🤝"
featured: false
---
Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.
Read screenpipe skill first.
Use this exact format:
## Meeting Summary
One sentence: what this meeting was about.
## Key Takeaways
- Top 3-5 important points discussed
- Include who said what when relevant
## Action Items
- [ ] Task — assigned to whom, deadline if mentioned
- [ ] Task — assigned to whom
## Decisions Made
- List any decisions or agreements reached
## Open Questions
- Anything unresolved or needing follow-up
Keep it concise and actionable.
=== /volume1/screenpipe/pipes/standup-update/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Standup Update
description: "What you did, what's next, and any blockers"
icon: "🏢"
featured: true
---
Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.
Read screenpipe skill first.
Use this exact format:
## Yesterday
- What I worked on (name specific projects, files, tools, PRs)
## Today
- What I will work on next (based on unfinished tasks and recent activity)
## Blockers
- Issues I hit — errors, slow builds, waiting on someone
- If no blockers, write "None"
Keep it under 150 words. Copy-paste ready for a team standup.
=== /volume1/screenpipe/pipes/time-breakdown/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Time Breakdown
description: "Where your time went — by app, project, and category"
icon: "⏱"
featured: false
---
Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.
Read screenpipe skill first.
Use this exact format with durations and percentages:
## By Application
- List each app with duration and percentage, sorted by time (e.g. "VS Code: 2h 15min (28%)")
## By Category
- Group into: coding, meetings, browsing, writing, communication, other
- Show hours and percentage per category
## By Project
- Group related activities by project/topic. Name specific repos or tasks.
## Productivity Score
- Calculate: focused_work_hours / total_hours as a percentage
- Focused = coding + writing. Unfocused = browsing + switching.
End with: "**Suggestion:** [one specific change to improve tomorrow's productivity]"
=== /volume1/screenpipe/pipes/video-export/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Export Video Clip
description: "Create a video of your recent screen activity"
icon: "🎬"
featured: false
---
Export a video of my screen activity from the last 5 minutes.
Read screenpipe skill first.
Use the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.
If the export is large, suggest a lower fps or shorter time range.
Thinking
Thinking
Now I have a clear picture. The pipes are markdown prompt templates in
/volume1/screenpipe/pipes/
, but there's no code to actually load and run them —
consumers/summary.py
has its own hardcoded prompts instead.
Here's what I'll implement:
consumers/pipes.py
— dynamically loads pipe.md files and runs them via Claude (data injected as system message, pipe body as user prompt)
main.py
— two new endpoints:
GET /api/pipes
and
POST /api/pipes/{pipe_id}/run
cli.py
— a
pipe
command to run pipes from the terminal
Let me build it:
Bash
Check browser_urls signature
IN
cat /volume1/screenpipe/app/consumers/activity.py | grep "def browser_urls" -A 5
Copy code to clipboard
OUT
def browser_urls(
for_date: date | None = None,
app_name: str | None = None,
ts_from: str | None = None,
ts_to: str | None = None,
limit: int = 30,
Write
pipes.py
pipes.py
143 lines
"""Dynamic pipe loader and runner."""
import os
import re
from datetime import date
from pathlib import Path
from typing import Any
def _parse_frontmatter(text: str) -> tuple[dict, str]:
if not text.startswith("---"):
return {}, text
try:
end = text.index("---", 3)
except ValueError:
return {}, text
fm_text = text[3:end].strip()
body = text[end + 3:].strip()
meta: dict = {}
for line in fm_text.splitlines():
if ":" in line:
k, _, v = line.partition(":")
meta[k.strip()] = v.strip().strip('"')
return meta, body
def load_pipes(pipes_dir: Path) -> list[dict]:
if not pipes_dir.exists():
return []
pipes = []
for pipe_dir in sorted(pipes_dir.iterdir()):
if not pipe_dir.is_dir() or pipe_dir.name.startswith("."):
continue
pipe_md = pipe_dir / "pipe.md"
if not pipe_md.exists():
continue
text = pipe_md.read_text(encoding="utf-8")
meta, body = _parse_frontmatter(text)
if meta.get("enabled", "true").lower() == "false":
continue
body = re.sub(r"Read screenpipe skill first\.?\n?", "", body).strip()
pipes.append({
"id": pipe_dir.name,
"title": meta.get("title", pipe_dir.name),
"description": meta.get("description", ""),
"icon": meta.get("icon", ""),
"schedule": meta.get("schedule", "manual"),
"featured": meta.get("featured", "false").lower() == "true",
"prompt": body,
})
return pipes
def _build_system(d: date, stats: dict) -> str:
from consumers.activity import app_time, browser_urls, ui_event_summary
from consumers.ocr import deduplicated_text
from consumers.audio import formatted_transcript
apps = app_time(d)
app_lines = "\n".join(f"- {a['app_name']}: {a['minutes']} min" for a in apps[:20])
urls = browser_urls(d, limit=20)
url_lines = "\n".join(f"- {u['browser_url'][:100]} ({u['minutes']} min)" for u in urls)
ui_rows = ui_event_summary(d)
ui_lines = "\n".join(
f"- {r['app_name']}: {r['clicks']} clicks, {r['keystrokes']} keys, {r['switches']} switches"
for r in ui_rows[:15]
)
ocr_rows = deduplicated_text(d, chunk_minutes=5)
ocr_lines = "\n".join(
f"[{r['bucket']}] {r['app_name']} / {r['window_name'] or ''}: {r['text'][:200]}"
for r in ocr_rows[:100]
)
audio = formatted_transcript(d)
if len(audio) > 3000:
audio = audio[:3000]
return f"""You are analyzing screenpipe data — recordings of a person's computer activity.
## App usage (minutes per app):
{app_lines or '(no app data)'}
## Browser URLs visited:
{url_lines or '(no browser data)'}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_lines or '(no UI event data)'}
## Screen content (sampled every 5 minutes):
{ocr_lines or '(no screen data)'}
## Audio / speech:
{audio or '(no audio data)'}
Date: {d}
Total frames recorded: {stats['total_frames']}"""
def run_pipe(
pipe_id: str,
for_date: date | None = None,
api_key: str | None = None,
pipes_dir: Path | None = None,
) -> dict[str, Any]:
import anthropic
from consumers.activity import summary_stats
d = for_date or date.today()
key = api_key or os.environ.get("ANTHROPIC_API_KEY", "")
if not key:
return {"title": "Error", "content": "ANTHROPIC_API_KEY not set.", "date": str(d)}
_pipes_dir = pipes_dir or Path(os.environ.get("PIPES_DIR", "/data/pipes"))
all_pipes = {p["id"]: p for p in load_pipes(_pipes_dir)}
if pipe_id not in all_pipes:
return {"title": "Error", "content": f"Pipe not found: {pipe_id}", "date": str(d)}
pipe = all_pipes[pipe_id]
stats = summary_stats(d)
if stats["total_frames"] == 0:
return {"title": pipe["title"], "content": f"No screen data found for {d}.", "date": str(d)}
system = _build_system(d, stats)
client = anthropic.Anthropic(api_key=key)
message = client.messages.create(
model="claude-haiku-4-5-20251001",
max_tokens=1024,
system=system,
messages=[{"role": "user", "content": pipe["prompt"]}],
)
return {
"title": pipe["title"],
"content": message.content[0].text,
"date": str(d),
"stats": stats,
}
Now add the API endpoints to
main.py
:
Edit
main.py
main.py
Added 1 line
Edit
main.py
main.py
Added 1 line
Now add the pipe endpoints at the end of main.py, before the closing summary section:
Edit
main.py
main.py
Added 14 lines
Now add the CLI command to
cli.py
cli.py
:
Edit...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⇧⌘E) - 1 unsaved file","depth":19,"bounds":{"left":0.0003324468,"top":0.047885075,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.057462092,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":22,"bounds":{"left":0.009973404,"top":0.06863528,"width":0.0016622341,"height":0.008778931},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":19,"bounds":{"left":0.0003324468,"top":0.08619314,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.09577015,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⌃⇧G) - 11 pending changes","depth":19,"bounds":{"left":0.0003324468,"top":0.1245012,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.13407822,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"11","depth":22,"bounds":{"left":0.008976064,"top":0.1452514,"width":0.0033244682,"height":0.008778931},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.00930851,"top":0.14604948,"width":0.0016622341,"height":0.007980846}},{"char_start":1,"char_count":1,"bounds":{"left":0.010638298,"top":0.14604948,"width":0.0019946808,"height":0.007980846}}],"role_description":"text"},{"role":"AXRadioButton","text":"Run and Debug (⇧⌘D)","depth":19,"bounds":{"left":0.0003324468,"top":0.16280925,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.17238627,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":19,"bounds":{"left":0.0003324468,"top":0.20111732,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.21069433,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X) - 2 require update, 1 requires restart","depth":19,"bounds":{"left":0.0003324468,"top":0.23942538,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.2490024,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"bounds":{"left":0.009640957,"top":0.2601756,"width":0.0023271276,"height":0.008778931},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Claude Code","depth":19,"bounds":{"left":0.0003324468,"top":0.27773345,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Containers","depth":19,"bounds":{"left":0.0003324468,"top":0.3160415,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"EXPLORER","depth":17,"bounds":{"left":0.022938829,"top":0.047885075,"width":0.018949468,"height":0.02793296},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"EXPLORER","depth":18,"bounds":{"left":0.022938829,"top":0.056664005,"width":0.018949468,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.056664005,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.025265958,"top":0.056664005,"width":0.01662234,"height":0.0103751}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.016289894,"top":0.07581804,"width":0.09940159,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.016954787,"top":0.07821229,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.022938829,"top":0.07581804,"width":0.045877658,"height":0.017557861},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"SCREENPIPE [SSH: NAS]","depth":23,"bounds":{"left":0.022938829,"top":0.079010375,"width":0.045877658,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.07980846,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":20,"bounds":{"left":0.025598405,"top":0.07980846,"width":0.043218084,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.09577015,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.026263298,"top":0.09577015,"width":0.017287234,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.096568234,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":7,"bounds":{"left":0.028922873,"top":0.096568234,"width":0.01462766,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.11332801,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.026263298,"top":0.11332801,"width":0.0076462766,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.11412609,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":2,"bounds":{"left":0.028590426,"top":0.11412609,"width":0.005319149,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.10638298,"top":0.11412609,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.13088587,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.026263298,"top":0.13088587,"width":0.008976064,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.13168396,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.028922873,"top":0.13168396,"width":0.0063164895,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.14844373,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.026263298,"top":0.14844373,"width":0.00831117,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.14924182,"width":0.0009973404,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.027260639,"top":0.14924182,"width":0.0076462766,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.10638298,"top":0.14924182,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.1660016,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.026263298,"top":0.1660016,"width":0.010970744,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.16679968,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":4,"bounds":{"left":0.028922873,"top":0.16679968,"width":0.00831117,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.1819633,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.026263298,"top":0.18355946,"width":0.018949468,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.18435754,"width":0.0013297872,"height":0.011971269}},{"char_start":1,"char_count":9,"bounds":{"left":0.027593086,"top":0.18435754,"width":0.017952127,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.19952115,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.026263298,"top":0.20111732,"width":0.03557181,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.2019154,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":16,"bounds":{"left":0.028590426,"top":0.2019154,"width":0.03324468,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.21707901,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.026263298,"top":0.21867518,"width":0.020944148,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.21947326,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":9,"bounds":{"left":0.028590426,"top":0.21947326,"width":0.01861702,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.23463687,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.026263298,"top":0.23623304,"width":0.03025266,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.23703113,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":13,"bounds":{"left":0.028590426,"top":0.23703113,"width":0.027925532,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.107380316,"top":0.23703113,"width":0.0029920214,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.25219473,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.026263298,"top":0.25379092,"width":0.017287234,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.254589,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":8,"bounds":{"left":0.028922873,"top":0.254589,"width":0.014960106,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.2697526,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.026263298,"top":0.27134877,"width":0.027925532,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.27214685,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":12,"bounds":{"left":0.028922873,"top":0.27214685,"width":0.025265958,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.28731045,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.026263298,"top":0.28890663,"width":0.025930852,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.2897047,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":12,"bounds":{"left":0.028922873,"top":0.2897047,"width":0.023603724,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.3048683,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_f","depth":27,"bounds":{"left":0.026263298,"top":0.3064645,"width":0.026263298,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.30726257,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":11,"bounds":{"left":0.028590426,"top":0.30726257,"width":0.023936171,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.32242617,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.026263298,"top":0.32402235,"width":0.059175532,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.32482043,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":25,"bounds":{"left":0.028590426,"top":0.32482043,"width":0.056848403,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.107380316,"top":0.32482043,"width":0.0029920214,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.33998403,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.026263298,"top":0.3415802,"width":0.039893616,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.3423783,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":17,"bounds":{"left":0.028590426,"top":0.3423783,"width":0.037898935,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.106715426,"top":0.3423783,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.3575419,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.026263298,"top":0.35913807,"width":0.028590426,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.35993615,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":12,"bounds":{"left":0.028590426,"top":0.35993615,"width":0.026595745,"height":0.011971269}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.016289894,"top":0.9473264,"width":0.09940159,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.016954787,"top":0.9497207,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"OUTLINE","depth":22,"bounds":{"left":0.022938829,"top":0.9473264,"width":0.01662234,"height":0.017557861},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"OUTLINE","depth":23,"bounds":{"left":0.022938829,"top":0.95131683,"width":0.01662234,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.95131683,"width":0.0029920214,"height":0.0103751}},{"char_start":1,"char_count":6,"bounds":{"left":0.025930852,"top":0.95131683,"width":0.013630319,"height":0.0103751}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.016289894,"top":0.9648843,"width":0.09940159,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.016954787,"top":0.96727854,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"TIMELINE","depth":22,"bounds":{"left":0.022938829,"top":0.9648843,"width":0.01761968,"height":0.017557861},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"TIMELINE","depth":23,"bounds":{"left":0.022938829,"top":0.9688747,"width":0.01761968,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.9688747,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.025598405,"top":0.9688747,"width":0.015292553,"height":0.0103751}}],"role_description":"text"},{"role":"AXRadioButton","text":"app_settings.json, Editor Group 1","depth":28,"bounds":{"left":0.116023935,"top":0.047885075,"width":0.055851065,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync.sh, Editor Group 1","depth":28,"bounds":{"left":0.171875,"top":0.047885075,"width":0.06549202,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_f, Editor Group 1","depth":28,"bounds":{"left":0.23736702,"top":0.047885075,"width":0.046875,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync_updated.sh, preview, Editor Group 1","depth":28,"bounds":{"left":0.2839096,"top":0.047885075,"width":0.0831117,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"pipe.md, Editor Group 1","depth":28,"bounds":{"left":0.36702126,"top":0.047885075,"width":0.039893616,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":".env, Editor Group 1","depth":28,"bounds":{"left":0.4069149,"top":0.047885075,"width":0.039893616,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"","depth":28,"bounds":{"left":0.13763298,"top":0.09497207,"width":0.0003324468,"height":0.011173184},"on_screen":true,"value":"","role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":29,"bounds":{"left":0.13763298,"top":0.09497207,"width":0.0003324468,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Implement and run pipe l…, Editor Group 2","depth":28,"bounds":{"left":0.5581782,"top":0.047885075,"width":0.073803194,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"Problems (⇧⌘M)","depth":22,"bounds":{"left":0.11868351,"top":0.7278532,"width":0.027925532,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PROBLEMS","depth":24,"bounds":{"left":0.12267287,"top":0.7366321,"width":0.019946808,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Output (⇧⌘U)","depth":22,"bounds":{"left":0.1462766,"top":0.7278532,"width":0.023603724,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"OUTPUT","depth":24,"bounds":{"left":0.15026596,"top":0.7366321,"width":0.015625,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Debug Console (⇧⌘Y)","depth":22,"bounds":{"left":0.16954787,"top":0.7278532,"width":0.039893616,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DEBUG CONSOLE","depth":24,"bounds":{"left":0.17353724,"top":0.7366321,"width":0.031914894,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Terminal (⌃`)","depth":22,"bounds":{"left":0.20910904,"top":0.7278532,"width":0.026595745,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"TERMINAL","depth":24,"bounds":{"left":0.2130984,"top":0.7366321,"width":0.01861702,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.21343085,"top":0.73743016,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.21575798,"top":0.73743016,"width":0.016289894,"height":0.0103751}}],"role_description":"text"},{"role":"AXRadioButton","text":"Ports - 1 forwarded port","depth":22,"bounds":{"left":0.2357048,"top":0.7278532,"width":0.026263298,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PORTS","depth":24,"bounds":{"left":0.23969415,"top":0.7366321,"width":0.012300532,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":25,"bounds":{"left":0.2549867,"top":0.73743016,"width":0.0019946808,"height":0.008778931},"on_screen":true,"role_description":"text"},{"role":"AXTextArea","text":"Remote - SSH - Output","depth":27,"bounds":{"left":0.12267287,"top":0.9680766,"width":0.87200797,"height":0.014365523},"on_screen":true,"role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0009973404,"top":0.98244214,"width":0.028590426,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.003656915,"top":0.9848364,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.008976064,"top":0.9856345,"width":0.017952127,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008976064,"top":0.9856345,"width":0.0013297872,"height":0.011173184}},{"char_start":1,"char_count":7,"bounds":{"left":0.010305851,"top":0.9856345,"width":0.01462766,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.03125,"top":0.98244214,"width":0.023271276,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.032247342,"top":0.9848364,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.03756649,"top":0.9856345,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.03756649,"top":0.9856345,"width":0.0013297872,"height":0.011173184}},{"char_start":1,"char_count":6,"bounds":{"left":0.038896278,"top":0.9856345,"width":0.012965426,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.054521278,"top":0.98244214,"width":0.00731383,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.064494684,"top":0.98244214,"width":0.022606382,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.06615692,"top":0.9848364,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.071476065,"top":0.9856345,"width":0.004986702,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.076130316,"top":0.9848364,"width":0.0056515955,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.08144947,"top":0.9856345,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 8766","depth":16,"bounds":{"left":0.0887633,"top":0.98244214,"width":0.012632979,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.09042553,"top":0.9848364,"width":0.0056515955,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":17,"bounds":{"left":0.095744684,"top":0.9856345,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.9890292,"top":0.98244214,"width":0.010638298,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sign In","depth":16,"bounds":{"left":0.96542555,"top":0.98244214,"width":0.022606382,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.96708775,"top":0.9848364,"width":0.0056515955,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Sign In","depth":17,"bounds":{"left":0.9724069,"top":0.9856345,"width":0.013962766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.9724069,"top":0.9856345,"width":0.0013297872,"height":0.011173184}},{"char_start":1,"char_count":6,"bounds":{"left":0.9737367,"top":0.9856345,"width":0.010638298,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Plain Text","depth":16,"bounds":{"left":0.9428192,"top":0.98244214,"width":0.020279255,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions","depth":16,"bounds":{"left":0.93550533,"top":0.98244214,"width":0.00731383,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.92486703,"top":0.98244214,"width":0.007978723,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.9075798,"top":0.98244214,"width":0.015625,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 4","depth":16,"bounds":{"left":0.8836436,"top":0.98244214,"width":0.021941489,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 1, Col 1","depth":16,"bounds":{"left":0.85771275,"top":0.98244214,"width":0.023936171,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Downloading VS Code Server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Implement and run pipe logic","depth":19,"bounds":{"left":0.56050533,"top":0.08060654,"width":0.07114362,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Session history","depth":19,"bounds":{"left":0.97839093,"top":0.08060654,"width":0.00930851,"height":0.022346368},"on_screen":true,"help_text":"Session history","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New session","depth":19,"bounds":{"left":0.9890292,"top":0.08060654,"width":0.00930851,"height":0.022346368},"on_screen":true,"help_text":"New session","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Message actions","depth":24,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"main.py","depth":23,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lets implement logic with pipes. how can I run it?","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Let me look at the current project structure to understand what's already in place.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List project files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume1/screenpipe -type f | head -50 && echo \"---\" && ls /volume1/screenpipe","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/.DS_Store\n/volume1/screenpipe/screenpipe.db\n/volume1/screenpipe/screenpipe_sync.sh\n/volume1/screenpipe/app_settings.json\n/volume1/screenpipe/.gitignore\n/volume1/screenpipe/archive.db\n/volume1/screenpipe/db.sqlite\n/volume1/screenpipe/db.sqlite-wal\n/volume1/screenpipe/db.sqlite-shm\n/volume1/screenpipe/#recycle/desktop.ini\n/volume1/screenpipe/#recycle/db.sqlite\n/volume1/screenpipe/#recycle/Copy #1 of db.sqlite\n/volume1/screenpipe/#recycle/.DS_Store\n/volume1/screenpipe/#recycle/Copy #2 of db.sqlite\n/volume1/screenpipe/#recycle/archive.db\n/volume1/screenpipe/#recycle/Copy #1 of archive.db\n/volume1/screenpipe/#recycle/Copy #2 of archive.db\n/volume1/screenpipe/#recycle/Copy #3 of archive.db\n/volume1/screenpipe/#recycle/Copy #4 of archive.db\n/volume1/screenpipe/#recycle/Copy #5 of archive.db\n/volume1/screenpipe/#recycle/Copy #3 of db.sqlite\n/volume1/screenpipe/#recycle/Copy #4 of db.sqlite\n/volume1/screenpipe/#recycle/Copy #6 of archive.db\n/volume1/screenpipe/#recycle/test.txt\n/volume1/screenpipe/#recycle/Copy #7 of archive.db\n/volume1/screenpipe/#recycle/Copy #8 of archive.db\n/volume1/screenpipe/#recycle/archive.db-journal\n/volume1/screenpipe/#recycle/Copy #1 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #2 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #3 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #4 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #5 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #6 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #7 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #5 of db.sqlite\n/volume1/screenpipe/pipes/.DS_Store\n/volume1/screenpipe/app/.env\n/volume1/screenpipe/app/cli.py\n/volume1/screenpipe/app/.DS_Store\n/volume1/screenpipe/app/db.py\n/volume1/screenpipe/app/docker-compose.yml\n/volume1/screenpipe/app/main.py\n/volume1/screenpipe/app/requirements.txt\n/volume1/screenpipe/app/Dockerfile\n/volume1/screenpipe/data/.DS_Store\n/volume1/screenpipe/.git/description\n/volume1/screenpipe/.git/HEAD\n/volume1/screenpipe/.git/index\n/volume1/screenpipe/.git/COMMIT_EDITMSG\n/volume1/screenpipe/#recycle/data/.DS_Store\n---\napp\napp_settings.json\narchive.db\ndata\ndb.sqlite\ndb.sqlite-shm\ndb.sqlite-wal\npipes\n#recycle\nscreenpipe.db\nscreenpipe_sync.sh","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"main.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check pipes directory and docker-compose","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/ && ls /volume1/screenpipe/app/ && cat /volume1/screenpipe/app/docker-compose.yml","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ai-habits\nday-recap\nmeeting-summary\nstandup-update\ntime-breakdown\nvideo-export\ncli.py\nconsumers\ndb.py\ndocker-compose.yml\nDockerfile\nmain.py\n__pycache__\nrequirements.txt\nstatic\nservices:\n screenpipe-app:\n build: .\n container_name: screenpipe-app\n restart: unless-stopped\n ports:\n - \"8766:8000\"\n volumes:\n - /volume1/screenpipe:/data\n env_file:\n - .env\n environment:\n TZ: Europe/Sofia\n DB_PATH: /data/db.sqlite\n\n sqlite-web-archive:\n image: ghcr.io/coleifer/sqlite-web:latest\n container_name: screenpipe-sqlweb-archive\n restart: unless-stopped\n ports:\n - \"8767:8080\"\n volumes:\n - /volume1/screenpipe:/data\n command: [\"-H\", \"0.0.0.0\", \"-r\", \"/data/archive.db\"]\n\n sqlite-web-live:\n image: ghcr.io/coleifer/sqlite-web:latest\n container_name: screenpipe-sqlweb-live\n restart: unless-stopped\n ports:\n - \"8768:8080\"\n volumes:\n - /volume1/screenpipe:/data\n command: [\"-H\", \"0.0.0.0\", \"-r\", \"/data/db.sqlite\"]","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"requirements.txt","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"requirements.txt","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Inspect a pipe directory","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/day-recap/ && cat /volume1/screenpipe/pipes/day-recap/pipe.json 2>/dev/null || ls /volume1/screenpipe/pipes/day-recap/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"pipe.md\npipe.md","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"cli.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"cli.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List all pipes and their contents","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/ && for d in /volume1/screenpipe/pipes/*/; do echo \"=== $d ===\"; ls \"$d\"; done","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ai-habits\nday-recap\nmeeting-summary\nstandup-update\ntime-breakdown\nvideo-export\n=== /volume1/screenpipe/pipes/ai-habits/ ===\npipe.md\n=== /volume1/screenpipe/pipes/day-recap/ ===\npipe.md\n=== /volume1/screenpipe/pipes/meeting-summary/ ===\npipe.md\n=== /volume1/screenpipe/pipes/standup-update/ ===\npipe.md\n=== /volume1/screenpipe/pipes/time-breakdown/ ===\npipe.md\n=== /volume1/screenpipe/pipes/video-export/ ===\npipe.md","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read pipe markdown files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cat /volume1/screenpipe/pipes/day-recap/pipe.md && echo \"===\" && cat /volume1/screenpipe/pipes/meeting-summary/pipe.md 2>/dev/null | head -50","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Day Recap\ndescription: \"Today's accomplishments, key moments, and unfinished work\"\nicon: \"📋\"\nfeatured: true\n---\n\nAnalyze my screen and audio recordings from today (last 16 hours only). \n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Summary\nOne sentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM\")\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things I saw, said, or heard — with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow — name the app/file/task\n\n## Patterns\n- Apps I used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"\n===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Meeting Summary\ndescription: \"Summarize meeting transcript with key takeaways and action items\"\nicon: \"🤝\"\nfeatured: false\n---\n\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Meeting Summary\nOne sentence: what this meeting was about.\n\n## Key Takeaways\n- Top 3-5 important points discussed\n- Include who said what when relevant\n\n## Action Items\n- [ ] Task — assigned to whom, deadline if mentioned\n- [ ] Task — assigned to whom\n\n## Decisions Made\n- List any decisions or agreements reached\n\n## Open Questions\n- Anything unresolved or needing follow-up\n\nKeep it concise and actionable.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read summary consumer","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/app/consumers/ && cat /volume1/screenpipe/app/consumers/summary.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"activity.py\naudio.py\nelements.py\n__init__.py\ninteractions.py\nocr.py\n__pycache__\nreport.py\nsummary.py\n\"\"\"AI summary generator using Claude.\"\"\"\nimport os\nfrom datetime import date\nfrom typing import Any\n\nfrom consumers.activity import app_time, summary_stats, browser_urls, ui_event_summary\nfrom consumers.ocr import deduplicated_text\nfrom consumers.audio import formatted_transcript\n\n\nSUMMARY_TYPES = {\n \"day_recap\": {\n \"title\": \"Day Recap\",\n \"prompt\": \"\"\"\\\nYou are analyzing a person's computer activity for the day.\n\n## App usage (minutes per app):\n{app_time}\n\n## Browser URLs visited:\n{browser_urls}\n\n## UI activity per app (clicks / keystrokes / app-switches):\n{ui_events}\n\n## Screen content (sampled every 5 minutes):\n{ocr_text}\n\n## Audio/speech:\n{audio}\n\nWrite a concise day recap using EXACTLY this format:\n\n## Summary\nOne sentence: what I mainly worked on today.\n\n## Accomplishments\n- Top 3 things I finished, with approximate times\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things seen or heard, with timestamps\n\n## Unfinished Work\n- What to continue tomorrow\n\n## Patterns\n- Apps used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with:\n**Next step:** [most important thing to continue]\"\"\",\n },\n \"standup\": {\n \"title\": \"Standup Update\",\n \"prompt\": \"\"\"\\\nYou are analyzing a person's computer activity for the day.\n\n## App usage (minutes per app):\n{app_time}\n\n## Browser URLs visited:\n{browser_urls}\n\n## UI activity per app (clicks / keystrokes / app-switches):\n{ui_events}\n\n## Screen content (sampled every 5 minutes):\n{ocr_text}\n\n## Audio/speech:\n{audio}\n\nWrite a brief standup update:\n\n**Yesterday:** What I worked on (2-3 bullets)\n**Today:** What I plan to continue (1-2 bullets)\n**Blockers:** Any issues observed (or \"None\")\n\nKeep it under 150 words. Only report what's verifiable from the data.\"\"\",\n },\n \"focus_time\": {\n \"title\": \"Focus & Distraction Analysis\",\n \"prompt\": \"\"\"\\\nYou are analyzing a person's computer activity for the day.\n\n## App usage (minutes per app):\n{app_time}\n\n## Browser URLs visited:\n{browser_urls}\n\n## UI activity per app (clicks / keystrokes / app-switches):\n{ui_events}\n\n## Screen content (sampled every 5 minutes):\n{ocr_text}\n\nAnalyze focus vs distraction patterns:\n\n## Deep Work Periods\n- When and how long were sustained focus sessions?\n- What was being worked on?\n\n## Distractions\n- Which apps/sites were used recreationally?\n- How much time was lost to context switching?\n\n## Recommendations\n- 2-3 concrete suggestions to improve focus tomorrow\n\nBe specific with times and app names.\"\"\",\n },\n}\n\n\ndef _build_context(for_date: date) -> dict[str, str]:\n apps = app_time(for_date)\n app_lines = \"\\n\".join(f\"- {a['app_name']}: {a['minutes']} min\" for a in apps[:20])\n\n urls = browser_urls(for_date, limit=20)\n url_lines = \"\\n\".join(\n f\"- {u['browser_url'][:100]} ({u['minutes']} min)\" for u in urls\n )\n\n ui_rows = ui_event_summary(for_date)\n ui_lines = \"\\n\".join(\n f\"- {r['app_name']}: {r['clicks']} clicks, {r['keystrokes']} keys, {r['switches']} switches\"\n for r in ui_rows[:15]\n )\n\n ocr_rows = deduplicated_text(for_date, chunk_minutes=5)\n ocr_lines = \"\\n\".join(\n f\"[{r['bucket']}] {r['app_name']} / {r['window_name'] or ''}: {r['text'][:200]}\"\n for r in ocr_rows[:100]\n )\n\n audio = formatted_transcript(for_date)\n\n return {\n \"app_time\": app_lines or \"(no app data)\",\n \"browser_urls\": url_lines or \"(no browser data)\",\n \"ui_events\": ui_lines or \"(no UI event data)\",\n \"ocr_text\": ocr_lines or \"(no screen data)\",\n \"audio\": audio[:3000] if len(audio) > 3000 else audio,\n }\n\n\ndef generate(\n summary_type: str = \"day_recap\",\n for_date: date | None = None,\n api_key: str | None = None,\n) -> dict[str, Any]:\n \"\"\"Generate an AI summary. Returns dict with 'title', 'content', 'date'.\"\"\"\n import anthropic\n\n d = for_date or date.today()\n key = api_key or os.environ.get(\"ANTHROPIC_API_KEY\", \"\")\n if not key:\n return {\n \"title\": \"Error\",\n \"content\": \"ANTHROPIC_API_KEY not set. Add it to your .env file.\",\n \"date\": str(d),\n }\n\n spec = SUMMARY_TYPES.get(summary_type)\n if not spec:\n return {\"title\": \"Error\", \"content\": f\"Unknown summary type: {summary_type}\", \"date\": str(d)}\n\n stats = summary_stats(d)\n if stats[\"total_frames\"] == 0:\n return {\n \"title\": spec[\"title\"],\n \"content\": f\"No screen data found for {d}.\",\n \"date\": str(d),\n }\n\n ctx = _build_context(d)\n prompt = spec[\"prompt\"].format(**ctx)\n\n client = anthropic.Anthropic(api_key=key)\n message = client.messages.create(\n model=\"claude-haiku-4-5-20251001\",\n max_tokens=1024,\n messages=[{\"role\": \"user\", \"content\": prompt}],\n )\n\n return {\n \"title\": spec[\"title\"],\n \"content\": message.content[0].text,\n \"date\": str(d),\n \"stats\": stats,\n }","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read all pipe.md files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for f in /volume1/screenpipe/pipes/*/pipe.md; do echo \"=== $f ===\"; cat \"$f\"; echo; done","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"=== /volume1/screenpipe/pipes/ai-habits/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: AI Habits\ndescription: \"How you use AI tools — patterns and insights\"\nicon: \"🤖\"\nfeatured: true\n---\n\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## AI Tools Used\n- List each tool with approximate time spent (e.g. \"Claude: ~45min\")\n\n## What I Used Them For\n- For each tool: coding, writing, research, or brainstorming\n\n## Usage Patterns\n- Do I switch between tools? Use them in bursts or steadily?\n\n## Effectiveness\n- Which tool appeared alongside completed work vs. abandoned attempts\n\nIf no AI usage is found, say so clearly. End with: \"**Tip:** [one suggestion to use AI tools more effectively]\"\n\n=== /volume1/screenpipe/pipes/day-recap/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Day Recap\ndescription: \"Today's accomplishments, key moments, and unfinished work\"\nicon: \"📋\"\nfeatured: true\n---\n\nAnalyze my screen and audio recordings from today (last 16 hours only). \n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Summary\nOne sentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM\")\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things I saw, said, or heard — with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow — name the app/file/task\n\n## Patterns\n- Apps I used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"\n\n=== /volume1/screenpipe/pipes/meeting-summary/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Meeting Summary\ndescription: \"Summarize meeting transcript with key takeaways and action items\"\nicon: \"🤝\"\nfeatured: false\n---\n\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Meeting Summary\nOne sentence: what this meeting was about.\n\n## Key Takeaways\n- Top 3-5 important points discussed\n- Include who said what when relevant\n\n## Action Items\n- [ ] Task — assigned to whom, deadline if mentioned\n- [ ] Task — assigned to whom\n\n## Decisions Made\n- List any decisions or agreements reached\n\n## Open Questions\n- Anything unresolved or needing follow-up\n\nKeep it concise and actionable.\n\n=== /volume1/screenpipe/pipes/standup-update/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Standup Update\ndescription: \"What you did, what's next, and any blockers\"\nicon: \"🏢\"\nfeatured: true\n---\n\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Yesterday\n- What I worked on (name specific projects, files, tools, PRs)\n\n## Today\n- What I will work on next (based on unfinished tasks and recent activity)\n\n## Blockers\n- Issues I hit — errors, slow builds, waiting on someone\n- If no blockers, write \"None\"\n\nKeep it under 150 words. Copy-paste ready for a team standup.\n\n=== /volume1/screenpipe/pipes/time-breakdown/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Time Breakdown\ndescription: \"Where your time went — by app, project, and category\"\nicon: \"⏱\"\nfeatured: false\n---\n\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\n\nRead screenpipe skill first.\n\nUse this exact format with durations and percentages:\n\n## By Application\n- List each app with duration and percentage, sorted by time (e.g. \"VS Code: 2h 15min (28%)\")\n\n## By Category\n- Group into: coding, meetings, browsing, writing, communication, other\n- Show hours and percentage per category\n\n## By Project\n- Group related activities by project/topic. Name specific repos or tasks.\n\n## Productivity Score\n- Calculate: focused_work_hours / total_hours as a percentage\n- Focused = coding + writing. Unfocused = browsing + switching.\n\nEnd with: \"**Suggestion:** [one specific change to improve tomorrow's productivity]\"\n\n=== /volume1/screenpipe/pipes/video-export/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Export Video Clip\ndescription: \"Create a video of your recent screen activity\"\nicon: \"🎬\"\nfeatured: false\n---\n\nExport a video of my screen activity from the last 5 minutes.\n\nRead screenpipe skill first.\n\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\n\nIf the export is large, suggest a lower fps or shorter time range.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Now I have a clear picture. The pipes are markdown prompt templates in","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/pipes/","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", but there's no code to actually load and run them —","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"consumers/summary.py","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"has its own hardcoded prompts instead.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Here's what I'll implement:","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"consumers/pipes.py","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"— dynamically loads pipe.md files and runs them via Claude (data injected as system message, pipe body as user prompt)","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"main.py","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"— two new endpoints:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"GET /api/pipes","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"POST /api/pipes/{pipe_id}/run","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cli.py","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"— a","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"pipe","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"command to run pipes from the terminal","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Let me build it:","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check browser_urls signature","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cat /volume1/screenpipe/app/consumers/activity.py | grep \"def browser_urls\" -A 5","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"def browser_urls(\n for_date: date | None = None,\n app_name: str | None = None,\n ts_from: str | None = None,\n ts_to: str | None = None,\n limit: int = 30,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Write","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"pipes.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"pipes.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"143 lines","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"\"\"Dynamic pipe loader and runner.\"\"\"\nimport os\nimport re\nfrom datetime import date\nfrom pathlib import Path\nfrom typing import Any\n\n\ndef _parse_frontmatter(text: str) -> tuple[dict, str]:\n if not text.startswith(\"---\"):\n return {}, text\n try:\n end = text.index(\"---\", 3)\n except ValueError:\n return {}, text\n fm_text = text[3:end].strip()\n body = text[end + 3:].strip()\n meta: dict = {}\n for line in fm_text.splitlines():\n if \":\" in line:\n k, _, v = line.partition(\":\")\n meta[k.strip()] = v.strip().strip('\"')\n return meta, body\n\n\ndef load_pipes(pipes_dir: Path) -> list[dict]:\n if not pipes_dir.exists():\n return []\n pipes = []\n for pipe_dir in sorted(pipes_dir.iterdir()):\n if not pipe_dir.is_dir() or pipe_dir.name.startswith(\".\"):\n continue\n pipe_md = pipe_dir / \"pipe.md\"\n if not pipe_md.exists():\n continue\n text = pipe_md.read_text(encoding=\"utf-8\")\n meta, body = _parse_frontmatter(text)\n if meta.get(\"enabled\", \"true\").lower() == \"false\":\n continue\n body = re.sub(r\"Read screenpipe skill first\\.?\\n?\", \"\", body).strip()\n pipes.append({\n \"id\": pipe_dir.name,\n \"title\": meta.get(\"title\", pipe_dir.name),\n \"description\": meta.get(\"description\", \"\"),\n \"icon\": meta.get(\"icon\", \"\"),\n \"schedule\": meta.get(\"schedule\", \"manual\"),\n \"featured\": meta.get(\"featured\", \"false\").lower() == \"true\",\n \"prompt\": body,\n })\n return pipes\n\n\ndef _build_system(d: date, stats: dict) -> str:\n from consumers.activity import app_time, browser_urls, ui_event_summary\n from consumers.ocr import deduplicated_text\n from consumers.audio import formatted_transcript\n\n apps = app_time(d)\n app_lines = \"\\n\".join(f\"- {a['app_name']}: {a['minutes']} min\" for a in apps[:20])\n\n urls = browser_urls(d, limit=20)\n url_lines = \"\\n\".join(f\"- {u['browser_url'][:100]} ({u['minutes']} min)\" for u in urls)\n\n ui_rows = ui_event_summary(d)\n ui_lines = \"\\n\".join(\n f\"- {r['app_name']}: {r['clicks']} clicks, {r['keystrokes']} keys, {r['switches']} switches\"\n for r in ui_rows[:15]\n )\n\n ocr_rows = deduplicated_text(d, chunk_minutes=5)\n ocr_lines = \"\\n\".join(\n f\"[{r['bucket']}] {r['app_name']} / {r['window_name'] or ''}: {r['text'][:200]}\"\n for r in ocr_rows[:100]\n )\n\n audio = formatted_transcript(d)\n if len(audio) > 3000:\n audio = audio[:3000]\n\n return f\"\"\"You are analyzing screenpipe data — recordings of a person's computer activity.\n\n## App usage (minutes per app):\n{app_lines or '(no app data)'}\n\n## Browser URLs visited:\n{url_lines or '(no browser data)'}\n\n## UI activity per app (clicks / keystrokes / app-switches):\n{ui_lines or '(no UI event data)'}\n\n## Screen content (sampled every 5 minutes):\n{ocr_lines or '(no screen data)'}\n\n## Audio / speech:\n{audio or '(no audio data)'}\n\nDate: {d}\nTotal frames recorded: {stats['total_frames']}\"\"\"\n\n\ndef run_pipe(\n pipe_id: str,\n for_date: date | None = None,\n api_key: str | None = None,\n pipes_dir: Path | None = None,\n) -> dict[str, Any]:\n import anthropic\n from consumers.activity import summary_stats\n\n d = for_date or date.today()\n key = api_key or os.environ.get(\"ANTHROPIC_API_KEY\", \"\")\n if not key:\n return {\"title\": \"Error\", \"content\": \"ANTHROPIC_API_KEY not set.\", \"date\": str(d)}\n\n _pipes_dir = pipes_dir or Path(os.environ.get(\"PIPES_DIR\", \"/data/pipes\"))\n all_pipes = {p[\"id\"]: p for p in load_pipes(_pipes_dir)}\n\n if pipe_id not in all_pipes:\n return {\"title\": \"Error\", \"content\": f\"Pipe not found: {pipe_id}\", \"date\": str(d)}\n\n pipe = all_pipes[pipe_id]\n stats = summary_stats(d)\n\n if stats[\"total_frames\"] == 0:\n return {\"title\": pipe[\"title\"], \"content\": f\"No screen data found for {d}.\", \"date\": str(d)}\n\n system = _build_system(d, stats)\n\n client = anthropic.Anthropic(api_key=key)\n message = client.messages.create(\n model=\"claude-haiku-4-5-20251001\",\n max_tokens=1024,\n system=system,\n messages=[{\"role\": \"user\", \"content\": pipe[\"prompt\"]}],\n )\n\n return {\n \"title\": pipe[\"title\"],\n \"content\": message.content[0].text,\n \"date\": str(d),\n \"stats\": stats,\n }","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Now add the API endpoints to","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"main.py","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":":","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Edit","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"main.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Added 1 line","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Edit","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"main.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Added 1 line","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Now add the pipe endpoints at the end of main.py, before the closing summary section:","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Edit","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"main.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Added 14 lines","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Now add the CLI command to","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"cli.py","depth":23,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"cli.py","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":":","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Edit","depth":24,"on_screen":false,"role_description":"text"}]...
|
-4099134543557357723
|
-8114977325632731036
|
click
|
accessibility
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_f
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_f, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1
Implement and run pipe l…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports - 1 forwarded port
PORTS
1
Remote - SSH - Output
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 8766
1
Notifications
Sign In
Sign In
Plain Text
Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions
LF
UTF-8
Spaces: 4
Ln 1, Col 1
Info: Downloading VS Code Server...
Implement and run pipe logic
Session history
New session
Message actions
main.py
main.py
lets implement logic with pipes. how can I run it?
Thinking
Thinking
Let me look at the current project structure to understand what's already in place.
Bash
List project files
IN
find /volume1/screenpipe -type f | head -50 && echo "---" && ls /volume1/screenpipe
Copy code to clipboard
OUT
/volume1/screenpipe/.DS_Store
/volume1/screenpipe/screenpipe.db
/volume1/screenpipe/screenpipe_sync.sh
/volume1/screenpipe/app_settings.json
/volume1/screenpipe/.gitignore
/volume1/screenpipe/archive.db
/volume1/screenpipe/db.sqlite
/volume1/screenpipe/db.sqlite-wal
/volume1/screenpipe/db.sqlite-shm
/volume1/screenpipe/#recycle/desktop.ini
/volume1/screenpipe/#recycle/db.sqlite
/volume1/screenpipe/#recycle/Copy #1 of db.sqlite
/volume1/screenpipe/#recycle/.DS_Store
/volume1/screenpipe/#recycle/Copy #2 of db.sqlite
/volume1/screenpipe/#recycle/archive.db
/volume1/screenpipe/#recycle/Copy #1 of archive.db
/volume1/screenpipe/#recycle/Copy #2 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of archive.db
/volume1/screenpipe/#recycle/Copy #4 of archive.db
/volume1/screenpipe/#recycle/Copy #5 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of db.sqlite
/volume1/screenpipe/#recycle/Copy #4 of db.sqlite
/volume1/screenpipe/#recycle/Copy #6 of archive.db
/volume1/screenpipe/#recycle/test.txt
/volume1/screenpipe/#recycle/Copy #7 of archive.db
/volume1/screenpipe/#recycle/Copy #8 of archive.db
/volume1/screenpipe/#recycle/archive.db-journal
/volume1/screenpipe/#recycle/Copy #1 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #2 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #3 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #4 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #6 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #7 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of db.sqlite
/volume1/screenpipe/pipes/.DS_Store
/volume1/screenpipe/app/.env
/volume1/screenpipe/app/cli.py
/volume1/screenpipe/app/.DS_Store
/volume1/screenpipe/app/db.py
/volume1/screenpipe/app/docker-compose.yml
/volume1/screenpipe/app/main.py
/volume1/screenpipe/app/requirements.txt
/volume1/screenpipe/app/Dockerfile
/volume1/screenpipe/data/.DS_Store
/volume1/screenpipe/.git/description
/volume1/screenpipe/.git/HEAD
/volume1/screenpipe/.git/index
/volume1/screenpipe/.git/COMMIT_EDITMSG
/volume1/screenpipe/#recycle/data/.DS_Store
---
app
app_settings.json
archive.db
data
db.sqlite
db.sqlite-shm
db.sqlite-wal
pipes
#recycle
screenpipe.db
screenpipe_sync.sh
Read
main.py
main.py
Bash
Check pipes directory and docker-compose
IN
ls /volume1/screenpipe/pipes/ && ls /volume1/screenpipe/app/ && cat /volume1/screenpipe/app/docker-compose.yml
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
cli.py
consumers
db.py
docker-compose.yml
Dockerfile
main.py
__pycache__
requirements.txt
static
services:
screenpipe-app:
build: .
container_name: screenpipe-app
restart: unless-stopped
ports:
- "8766:8000"
volumes:
- /volume1/screenpipe:/data
env_file:
- .env
environment:
TZ: Europe/Sofia
DB_PATH: /data/db.sqlite
sqlite-web-archive:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-archive
restart: unless-stopped
ports:
- "8767:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/archive.db"]
sqlite-web-live:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-live
restart: unless-stopped
ports:
- "8768:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/db.sqlite"]
Read
requirements.txt
requirements.txt
Bash
Inspect a pipe directory
IN
ls /volume1/screenpipe/pipes/day-recap/ && cat /volume1/screenpipe/pipes/day-recap/pipe.json 2>/dev/null || ls /volume1/screenpipe/pipes/day-recap/
Copy code to clipboard
OUT
pipe.md
pipe.md
Read
cli.py
cli.py
Bash
List all pipes and their contents
IN
ls /volume1/screenpipe/pipes/ && for d in /volume1/screenpipe/pipes/*/; do echo "=== $d ==="; ls "$d"; done
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
=== /volume1/screenpipe/pipes/ai-habits/ ===
pipe.md
=== /volume1/screenpipe/pipes/day-recap/ ===
pipe.md
=== /volume1/screenpipe/pipes/meeting-summary/ ===
pipe.md
=== /volume1/screenpipe/pipes/standup-update/ ===
pipe.md
=== /volume1/screenpipe/pipes/time-breakdown/ ===
pipe.md
=== /volume1/screenpipe/pipes/video-export/ ===
pipe.md
Bash
Read pipe markdown files
IN
cat /volume1/screenpipe/pipes/day-recap/pipe.md && echo "===" && cat /volume1/screenpipe/pipes/meeting-summary/pipe.md 2>/dev/null | head -50
Copy code to clipboard
OUT
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
===
---
schedule: manual
enabled: true
template: true
title: Meeting Summary
description: "Summarize meeting transcript with key takeaways and action items"
icon: "🤝"
featured: false
---
Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.
Read screenpipe skill first.
Use this exact format:
## Meeting Summary
One sentence: what this meeting was about.
## Key Takeaways
- Top 3-5 important points discussed
- Include who said what when relevant
## Action Items
- [ ] Task — assigned to whom, deadline if mentioned
- [ ] Task — assigned to whom
## Decisions Made
- List any decisions or agreements reached
## Open Questions
- Anything unresolved or needing follow-up
Keep it concise and actionable.
Thinking
Thinking
Bash
Read summary consumer
IN
ls /volume1/screenpipe/app/consumers/ && cat /volume1/screenpipe/app/consumers/summary.py
Copy code to clipboard
OUT
activity.py
audio.py
elements.py
__init__.py
interactions.py
ocr.py
__pycache__
report.py
summary.py
"""AI summary generator using Claude."""
import os
from datetime import date
from typing import Any
from consumers.activity import app_time, summary_stats, browser_urls, ui_event_summary
from consumers.ocr import deduplicated_text
from consumers.audio import formatted_transcript
SUMMARY_TYPES = {
"day_recap": {
"title": "Day Recap",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
## Audio/speech:
{audio}
Write a concise day recap using EXACTLY this format:
## Summary
One sentence: what I mainly worked on today.
## Accomplishments
- Top 3 things I finished, with approximate times
- Name specific apps, files, or projects
## Key Moments
- Important things seen or heard, with timestamps
## Unfinished Work
- What to continue tomorrow
## Patterns
- Apps used most, topics that came up repeatedly
Only report what you can verify from the data. End with:
**Next step:** [most important thing to continue]""",
},
"standup": {
"title": "Standup Update",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
## Audio/speech:
{audio}
Write a brief standup update:
**Yesterday:** What I worked on (2-3 bullets)
**Today:** What I plan to continue (1-2 bullets)
**Blockers:** Any issues observed (or "None")
Keep it under 150 words. Only report what's verifiable from the data.""",
},
"focus_time": {
"title": "Focus & Distraction Analysis",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
Analyze focus vs distraction patterns:
## Deep Work Periods
- When and how long were sustained focus sessions?
- What was being worked on?
## Distractions
- Which apps/sites were used recreationally?
- How much time was lost to context switching?
## Recommendations
- 2-3 concrete suggestions to improve focus tomorrow
Be specific with times and app names.""",
},
}
def _build_context(for_date: date) -> dict[str, str]:
apps = app_time(for_date)
app_lines = "\n".join(f"- {a['app_name']}: {a['minutes']} min" for a in apps[:20])
urls = browser_urls(for_date, limit=20)
url_lines = "\n".join(
f"- {u['browser_url'][:100]} ({u['minutes']} min)" for u in urls
)
ui_rows = ui_event_summary(for_date)
ui_lines = "\n".join(
f"- {r['app_name']}: {r['clicks']} clicks, {r['keystrokes']} keys, {r['switches']} switches"
for r in ui_rows[:15]
)
ocr_rows = deduplicated_text(for_date, chunk_minutes=5)
ocr_lines = "\n".join(
f"[{r['bucket']}] {r['app_name']} / {r['window_name'] or ''}: {r['text'][:200]}"
for r in ocr_rows[:100]
)
audio = formatted_transcript(for_date)
return {
"app_time": app_lines or "(no app data)",
"browser_urls": url_lines or "(no browser data)",
"ui_events": ui_lines or "(no UI event data)",
"ocr_text": ocr_lines or "(no screen data)",
"audio": audio[:3000] if len(audio) > 3000 else audio,
}
def generate(
summary_type: str = "day_recap",
for_date: date | None = None,
api_key: str | None = None,
) -> dict[str, Any]:
"""Generate an AI summary. Returns dict with 'title', 'content', 'date'."""
import anthropic
d = for_date or date.today()
key = api_key or os.environ.get("ANTHROPIC_API_KEY", "")
if not key:
return {
"title": "Error",
"content": "ANTHROPIC_API_KEY not set. Add it to your .env file.",
"date": str(d),
}
spec = SUMMARY_TYPES.get(summary_type)
if not spec:
return {"title": "Error", "content": f"Unknown summary type: {summary_type}", "date": str(d)}
stats = summary_stats(d)
if stats["total_frames"] == 0:
return {
"title": spec["title"],
"content": f"No screen data found for {d}.",
"date": str(d),
}
ctx = _build_context(d)
prompt = spec["prompt"].format(**ctx)
client = anthropic.Anthropic(api_key=key)
message = client.messages.create(
model="claude-haiku-4-5-20251001",
max_tokens=1024,
messages=[{"role": "user", "content": prompt}],
)
return {
"title": spec["title"],
"content": message.content[0].text,
"date": str(d),
"stats": stats,
}
Thinking
Thinking
Bash
Read all pipe.md files
IN
for f in /volume1/screenpipe/pipes/*/pipe.md; do echo "=== $f ==="; cat "$f"; echo; done
Copy code to clipboard
OUT
=== /volume1/screenpipe/pipes/ai-habits/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: AI Habits
description: "How you use AI tools — patterns and insights"
icon: "🤖"
featured: true
---
Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.
Read screenpipe skill first.
Use this exact format:
## AI Tools Used
- List each tool with approximate time spent (e.g. "Claude: ~45min")
## What I Used Them For
- For each tool: coding, writing, research, or brainstorming
## Usage Patterns
- Do I switch between tools? Use them in bursts or steadily?
## Effectiveness
- Which tool appeared alongside completed work vs. abandoned attempts
If no AI usage is found, say so clearly. End with: "**Tip:** [one suggestion to use AI tools more effectively]"
=== /volume1/screenpipe/pipes/day-recap/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
=== /volume1/screenpipe/pipes/meeting-summary/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Meeting Summary
description: "Summarize meeting transcript with key takeaways and action items"
icon: "🤝"
featured: false
---
Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.
Read screenpipe skill first.
Use this exact format:
## Meeting Summary
One sentence: what this meeting was about.
## Key Takeaways
- Top 3-5 important points discussed
- Include who said what when relevant
## Action Items
- [ ] Task — assigned to whom, deadline if mentioned
- [ ] Task — assigned to whom
## Decisions Made
- List any decisions or agreements reached
## Open Questions
- Anything unresolved or needing follow-up
Keep it concise and actionable.
=== /volume1/screenpipe/pipes/standup-update/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Standup Update
description: "What you did, what's next, and any blockers"
icon: "🏢"
featured: true
---
Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.
Read screenpipe skill first.
Use this exact format:
## Yesterday
- What I worked on (name specific projects, files, tools, PRs)
## Today
- What I will work on next (based on unfinished tasks and recent activity)
## Blockers
- Issues I hit — errors, slow builds, waiting on someone
- If no blockers, write "None"
Keep it under 150 words. Copy-paste ready for a team standup.
=== /volume1/screenpipe/pipes/time-breakdown/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Time Breakdown
description: "Where your time went — by app, project, and category"
icon: "⏱"
featured: false
---
Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.
Read screenpipe skill first.
Use this exact format with durations and percentages:
## By Application
- List each app with duration and percentage, sorted by time (e.g. "VS Code: 2h 15min (28%)")
## By Category
- Group into: coding, meetings, browsing, writing, communication, other
- Show hours and percentage per category
## By Project
- Group related activities by project/topic. Name specific repos or tasks.
## Productivity Score
- Calculate: focused_work_hours / total_hours as a percentage
- Focused = coding + writing. Unfocused = browsing + switching.
End with: "**Suggestion:** [one specific change to improve tomorrow's productivity]"
=== /volume1/screenpipe/pipes/video-export/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Export Video Clip
description: "Create a video of your recent screen activity"
icon: "🎬"
featured: false
---
Export a video of my screen activity from the last 5 minutes.
Read screenpipe skill first.
Use the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.
If the export is large, suggest a lower fps or shorter time range.
Thinking
Thinking
Now I have a clear picture. The pipes are markdown prompt templates in
/volume1/screenpipe/pipes/
, but there's no code to actually load and run them —
consumers/summary.py
has its own hardcoded prompts instead.
Here's what I'll implement:
consumers/pipes.py
— dynamically loads pipe.md files and runs them via Claude (data injected as system message, pipe body as user prompt)
main.py
— two new endpoints:
GET /api/pipes
and
POST /api/pipes/{pipe_id}/run
cli.py
— a
pipe
command to run pipes from the terminal
Let me build it:
Bash
Check browser_urls signature
IN
cat /volume1/screenpipe/app/consumers/activity.py | grep "def browser_urls" -A 5
Copy code to clipboard
OUT
def browser_urls(
for_date: date | None = None,
app_name: str | None = None,
ts_from: str | None = None,
ts_to: str | None = None,
limit: int = 30,
Write
pipes.py
pipes.py
143 lines
"""Dynamic pipe loader and runner."""
import os
import re
from datetime import date
from pathlib import Path
from typing import Any
def _parse_frontmatter(text: str) -> tuple[dict, str]:
if not text.startswith("---"):
return {}, text
try:
end = text.index("---", 3)
except ValueError:
return {}, text
fm_text = text[3:end].strip()
body = text[end + 3:].strip()
meta: dict = {}
for line in fm_text.splitlines():
if ":" in line:
k, _, v = line.partition(":")
meta[k.strip()] = v.strip().strip('"')
return meta, body
def load_pipes(pipes_dir: Path) -> list[dict]:
if not pipes_dir.exists():
return []
pipes = []
for pipe_dir in sorted(pipes_dir.iterdir()):
if not pipe_dir.is_dir() or pipe_dir.name.startswith("."):
continue
pipe_md = pipe_dir / "pipe.md"
if not pipe_md.exists():
continue
text = pipe_md.read_text(encoding="utf-8")
meta, body = _parse_frontmatter(text)
if meta.get("enabled", "true").lower() == "false":
continue
body = re.sub(r"Read screenpipe skill first\.?\n?", "", body).strip()
pipes.append({
"id": pipe_dir.name,
"title": meta.get("title", pipe_dir.name),
"description": meta.get("description", ""),
"icon": meta.get("icon", ""),
"schedule": meta.get("schedule", "manual"),
"featured": meta.get("featured", "false").lower() == "true",
"prompt": body,
})
return pipes
def _build_system(d: date, stats: dict) -> str:
from consumers.activity import app_time, browser_urls, ui_event_summary
from consumers.ocr import deduplicated_text
from consumers.audio import formatted_transcript
apps = app_time(d)
app_lines = "\n".join(f"- {a['app_name']}: {a['minutes']} min" for a in apps[:20])
urls = browser_urls(d, limit=20)
url_lines = "\n".join(f"- {u['browser_url'][:100]} ({u['minutes']} min)" for u in urls)
ui_rows = ui_event_summary(d)
ui_lines = "\n".join(
f"- {r['app_name']}: {r['clicks']} clicks, {r['keystrokes']} keys, {r['switches']} switches"
for r in ui_rows[:15]
)
ocr_rows = deduplicated_text(d, chunk_minutes=5)
ocr_lines = "\n".join(
f"[{r['bucket']}] {r['app_name']} / {r['window_name'] or ''}: {r['text'][:200]}"
for r in ocr_rows[:100]
)
audio = formatted_transcript(d)
if len(audio) > 3000:
audio = audio[:3000]
return f"""You are analyzing screenpipe data — recordings of a person's computer activity.
## App usage (minutes per app):
{app_lines or '(no app data)'}
## Browser URLs visited:
{url_lines or '(no browser data)'}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_lines or '(no UI event data)'}
## Screen content (sampled every 5 minutes):
{ocr_lines or '(no screen data)'}
## Audio / speech:
{audio or '(no audio data)'}
Date: {d}
Total frames recorded: {stats['total_frames']}"""
def run_pipe(
pipe_id: str,
for_date: date | None = None,
api_key: str | None = None,
pipes_dir: Path | None = None,
) -> dict[str, Any]:
import anthropic
from consumers.activity import summary_stats
d = for_date or date.today()
key = api_key or os.environ.get("ANTHROPIC_API_KEY", "")
if not key:
return {"title": "Error", "content": "ANTHROPIC_API_KEY not set.", "date": str(d)}
_pipes_dir = pipes_dir or Path(os.environ.get("PIPES_DIR", "/data/pipes"))
all_pipes = {p["id"]: p for p in load_pipes(_pipes_dir)}
if pipe_id not in all_pipes:
return {"title": "Error", "content": f"Pipe not found: {pipe_id}", "date": str(d)}
pipe = all_pipes[pipe_id]
stats = summary_stats(d)
if stats["total_frames"] == 0:
return {"title": pipe["title"], "content": f"No screen data found for {d}.", "date": str(d)}
system = _build_system(d, stats)
client = anthropic.Anthropic(api_key=key)
message = client.messages.create(
model="claude-haiku-4-5-20251001",
max_tokens=1024,
system=system,
messages=[{"role": "user", "content": pipe["prompt"]}],
)
return {
"title": pipe["title"],
"content": message.content[0].text,
"date": str(d),
"stats": stats,
}
Now add the API endpoints to
main.py
:
Edit
main.py
main.py
Added 1 line
Edit
main.py
main.py
Added 1 line
Now add the pipe endpoints at the end of main.py, before the closing summary section:
Edit
main.py
main.py
Added 14 lines
Now add the CLI command to
cli.py
cli.py
:
Edit...
|
26240
|
NULL
|
NULL
|
NULL
|
|
26244
|
1090
|
4
|
2026-05-12T12:15:15.033024+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778588115033_m1.jpg...
|
Code
|
screenpipe_f — screenpipe [SSH: nas]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_f
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_f, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1
Implement and run pipe l…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports - 1 forwarded port
PORTS
1
Remote - SSH - Output
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 8766
1
Notifications
Sign In
Sign In
Plain Text
Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions
LF
UTF-8
Spaces: 4
Ln 1, Col 1
Info: Downloading VS Code Server...
Implement and run pipe logic
Session history
New session
Message actions
main.py
main.py
lets implement logic with pipes. how can I run it?
Thinking
Thinking
Let me look at the current project structure to understand what's already in place.
Bash
List project files
IN
find /volume1/screenpipe -type f | head -50 && echo "---" && ls /volume1/screenpipe
Copy code to clipboard
OUT
/volume1/screenpipe/.DS_Store
/volume1/screenpipe/screenpipe.db
/volume1/screenpipe/screenpipe_sync.sh
/volume1/screenpipe/app_settings.json
/volume1/screenpipe/.gitignore
/volume1/screenpipe/archive.db
/volume1/screenpipe/db.sqlite
/volume1/screenpipe/db.sqlite-wal
/volume1/screenpipe/db.sqlite-shm
/volume1/screenpipe/#recycle/desktop.ini
/volume1/screenpipe/#recycle/db.sqlite
/volume1/screenpipe/#recycle/Copy #1 of db.sqlite
/volume1/screenpipe/#recycle/.DS_Store
/volume1/screenpipe/#recycle/Copy #2 of db.sqlite
/volume1/screenpipe/#recycle/archive.db
/volume1/screenpipe/#recycle/Copy #1 of archive.db
/volume1/screenpipe/#recycle/Copy #2 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of archive.db
/volume1/screenpipe/#recycle/Copy #4 of archive.db
/volume1/screenpipe/#recycle/Copy #5 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of db.sqlite
/volume1/screenpipe/#recycle/Copy #4 of db.sqlite
/volume1/screenpipe/#recycle/Copy #6 of archive.db
/volume1/screenpipe/#recycle/test.txt
/volume1/screenpipe/#recycle/Copy #7 of archive.db
/volume1/screenpipe/#recycle/Copy #8 of archive.db
/volume1/screenpipe/#recycle/archive.db-journal
/volume1/screenpipe/#recycle/Copy #1 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #2 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #3 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #4 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #6 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #7 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of db.sqlite
/volume1/screenpipe/pipes/.DS_Store
/volume1/screenpipe/app/.env
/volume1/screenpipe/app/cli.py
/volume1/screenpipe/app/.DS_Store
/volume1/screenpipe/app/db.py
/volume1/screenpipe/app/docker-compose.yml
/volume1/screenpipe/app/main.py
/volume1/screenpipe/app/requirements.txt
/volume1/screenpipe/app/Dockerfile
/volume1/screenpipe/data/.DS_Store
/volume1/screenpipe/.git/description
/volume1/screenpipe/.git/HEAD
/volume1/screenpipe/.git/index
/volume1/screenpipe/.git/COMMIT_EDITMSG
/volume1/screenpipe/#recycle/data/.DS_Store
---
app
app_settings.json
archive.db
data
db.sqlite
db.sqlite-shm
db.sqlite-wal
pipes
#recycle
screenpipe.db
screenpipe_sync.sh
Read
main.py
main.py
Bash
Check pipes directory and docker-compose
IN
ls /volume1/screenpipe/pipes/ && ls /volume1/screenpipe/app/ && cat /volume1/screenpipe/app/docker-compose.yml
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
cli.py
consumers
db.py
docker-compose.yml
Dockerfile
main.py
__pycache__
requirements.txt
static
services:
screenpipe-app:
build: .
container_name: screenpipe-app
restart: unless-stopped
ports:
- "8766:8000"
volumes:
- /volume1/screenpipe:/data
env_file:
- .env
environment:
TZ: Europe/Sofia
DB_PATH: /data/db.sqlite
sqlite-web-archive:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-archive
restart: unless-stopped
ports:
- "8767:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/archive.db"]
sqlite-web-live:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-live
restart: unless-stopped
ports:
- "8768:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/db.sqlite"]
Read
requirements.txt
requirements.txt
Bash
Inspect a pipe directory
IN
ls /volume1/screenpipe/pipes/day-recap/ && cat /volume1/screenpipe/pipes/day-recap/pipe.json 2>/dev/null || ls /volume1/screenpipe/pipes/day-recap/
Copy code to clipboard
OUT
pipe.md
pipe.md
Read
cli.py
cli.py
Bash
List all pipes and their contents
IN
ls /volume1/screenpipe/pipes/ && for d in /volume1/screenpipe/pipes/*/; do echo "=== $d ==="; ls "$d"; done
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
=== /volume1/screenpipe/pipes/ai-habits/ ===
pipe.md
=== /volume1/screenpipe/pipes/day-recap/ ===
pipe.md
=== /volume1/screenpipe/pipes/meeting-summary/ ===
pipe.md
=== /volume1/screenpipe/pipes/standup-update/ ===
pipe.md
=== /volume1/screenpipe/pipes/time-breakdown/ ===
pipe.md
=== /volume1/screenpipe/pipes/video-export/ ===
pipe.md
Bash
Read pipe markdown files
IN...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⇧⌘E) - 1 unsaved file","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⌃⇧G) - 11 pending changes","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"11","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Run and Debug (⇧⌘D)","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X) - 2 require update, 1 requires restart","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Claude Code","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Containers","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"EXPLORER","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"EXPLORER","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"SCREENPIPE [SSH: NAS]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXTextField","text":"screenpipe_f","depth":28,"on_screen":true,"value":"screenpipe_f","role_description":"text field","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"OUTLINE","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"OUTLINE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"TIMELINE","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"TIMELINE","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"app_settings.json, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync.sh, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_f, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync_updated.sh, preview, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"pipe.md, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":".env, Editor Group 1","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"","depth":28,"on_screen":true,"value":"","role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":29,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Implement and run pipe l…, Editor Group 2","depth":28,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"Problems (⇧⌘M)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PROBLEMS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Output (⇧⌘U)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"OUTPUT","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Debug Console (⇧⌘Y)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DEBUG CONSOLE","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Terminal (⌃`)","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"TERMINAL","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Ports - 1 forwarded port","depth":22,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PORTS","depth":24,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":25,"on_screen":true,"role_description":"text"},{"role":"AXTextArea","text":"Remote - SSH - Output","depth":27,"on_screen":true,"role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"remote SSH: nas","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 8766","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sign In","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Sign In","depth":17,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Plain Text","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 4","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 1, Col 1","depth":16,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Downloading VS Code Server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Implement and run pipe logic","depth":19,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Session history","depth":19,"on_screen":true,"help_text":"Session history","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New session","depth":19,"on_screen":true,"help_text":"New session","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Message actions","depth":24,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"main.py","depth":23,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lets implement logic with pipes. how can I run it?","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Let me look at the current project structure to understand what's already in place.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List project files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume1/screenpipe -type f | head -50 && echo \"---\" && ls /volume1/screenpipe","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/.DS_Store\n/volume1/screenpipe/screenpipe.db\n/volume1/screenpipe/screenpipe_sync.sh\n/volume1/screenpipe/app_settings.json\n/volume1/screenpipe/.gitignore\n/volume1/screenpipe/archive.db\n/volume1/screenpipe/db.sqlite\n/volume1/screenpipe/db.sqlite-wal\n/volume1/screenpipe/db.sqlite-shm\n/volume1/screenpipe/#recycle/desktop.ini\n/volume1/screenpipe/#recycle/db.sqlite\n/volume1/screenpipe/#recycle/Copy #1 of db.sqlite\n/volume1/screenpipe/#recycle/.DS_Store\n/volume1/screenpipe/#recycle/Copy #2 of db.sqlite\n/volume1/screenpipe/#recycle/archive.db\n/volume1/screenpipe/#recycle/Copy #1 of archive.db\n/volume1/screenpipe/#recycle/Copy #2 of archive.db\n/volume1/screenpipe/#recycle/Copy #3 of archive.db\n/volume1/screenpipe/#recycle/Copy #4 of archive.db\n/volume1/screenpipe/#recycle/Copy #5 of archive.db\n/volume1/screenpipe/#recycle/Copy #3 of db.sqlite\n/volume1/screenpipe/#recycle/Copy #4 of db.sqlite\n/volume1/screenpipe/#recycle/Copy #6 of archive.db\n/volume1/screenpipe/#recycle/test.txt\n/volume1/screenpipe/#recycle/Copy #7 of archive.db\n/volume1/screenpipe/#recycle/Copy #8 of archive.db\n/volume1/screenpipe/#recycle/archive.db-journal\n/volume1/screenpipe/#recycle/Copy #1 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #2 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #3 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #4 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #5 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #6 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #7 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #5 of db.sqlite\n/volume1/screenpipe/pipes/.DS_Store\n/volume1/screenpipe/app/.env\n/volume1/screenpipe/app/cli.py\n/volume1/screenpipe/app/.DS_Store\n/volume1/screenpipe/app/db.py\n/volume1/screenpipe/app/docker-compose.yml\n/volume1/screenpipe/app/main.py\n/volume1/screenpipe/app/requirements.txt\n/volume1/screenpipe/app/Dockerfile\n/volume1/screenpipe/data/.DS_Store\n/volume1/screenpipe/.git/description\n/volume1/screenpipe/.git/HEAD\n/volume1/screenpipe/.git/index\n/volume1/screenpipe/.git/COMMIT_EDITMSG\n/volume1/screenpipe/#recycle/data/.DS_Store\n---\napp\napp_settings.json\narchive.db\ndata\ndb.sqlite\ndb.sqlite-shm\ndb.sqlite-wal\npipes\n#recycle\nscreenpipe.db\nscreenpipe_sync.sh","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"main.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check pipes directory and docker-compose","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/ && ls /volume1/screenpipe/app/ && cat /volume1/screenpipe/app/docker-compose.yml","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ai-habits\nday-recap\nmeeting-summary\nstandup-update\ntime-breakdown\nvideo-export\ncli.py\nconsumers\ndb.py\ndocker-compose.yml\nDockerfile\nmain.py\n__pycache__\nrequirements.txt\nstatic\nservices:\n screenpipe-app:\n build: .\n container_name: screenpipe-app\n restart: unless-stopped\n ports:\n - \"8766:8000\"\n volumes:\n - /volume1/screenpipe:/data\n env_file:\n - .env\n environment:\n TZ: Europe/Sofia\n DB_PATH: /data/db.sqlite\n\n sqlite-web-archive:\n image: ghcr.io/coleifer/sqlite-web:latest\n container_name: screenpipe-sqlweb-archive\n restart: unless-stopped\n ports:\n - \"8767:8080\"\n volumes:\n - /volume1/screenpipe:/data\n command: [\"-H\", \"0.0.0.0\", \"-r\", \"/data/archive.db\"]\n\n sqlite-web-live:\n image: ghcr.io/coleifer/sqlite-web:latest\n container_name: screenpipe-sqlweb-live\n restart: unless-stopped\n ports:\n - \"8768:8080\"\n volumes:\n - /volume1/screenpipe:/data\n command: [\"-H\", \"0.0.0.0\", \"-r\", \"/data/db.sqlite\"]","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"requirements.txt","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"requirements.txt","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Inspect a pipe directory","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/day-recap/ && cat /volume1/screenpipe/pipes/day-recap/pipe.json 2>/dev/null || ls /volume1/screenpipe/pipes/day-recap/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"pipe.md\npipe.md","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"cli.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"cli.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List all pipes and their contents","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/ && for d in /volume1/screenpipe/pipes/*/; do echo \"=== $d ===\"; ls \"$d\"; done","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ai-habits\nday-recap\nmeeting-summary\nstandup-update\ntime-breakdown\nvideo-export\n=== /volume1/screenpipe/pipes/ai-habits/ ===\npipe.md\n=== /volume1/screenpipe/pipes/day-recap/ ===\npipe.md\n=== /volume1/screenpipe/pipes/meeting-summary/ ===\npipe.md\n=== /volume1/screenpipe/pipes/standup-update/ ===\npipe.md\n=== /volume1/screenpipe/pipes/time-breakdown/ ===\npipe.md\n=== /volume1/screenpipe/pipes/video-export/ ===\npipe.md","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read pipe markdown files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"}]...
|
-3100106498470101404
|
878538192832601921
|
click
|
accessibility
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_f
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_f, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1
Implement and run pipe l…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports - 1 forwarded port
PORTS
1
Remote - SSH - Output
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 8766
1
Notifications
Sign In
Sign In
Plain Text
Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions
LF
UTF-8
Spaces: 4
Ln 1, Col 1
Info: Downloading VS Code Server...
Implement and run pipe logic
Session history
New session
Message actions
main.py
main.py
lets implement logic with pipes. how can I run it?
Thinking
Thinking
Let me look at the current project structure to understand what's already in place.
Bash
List project files
IN
find /volume1/screenpipe -type f | head -50 && echo "---" && ls /volume1/screenpipe
Copy code to clipboard
OUT
/volume1/screenpipe/.DS_Store
/volume1/screenpipe/screenpipe.db
/volume1/screenpipe/screenpipe_sync.sh
/volume1/screenpipe/app_settings.json
/volume1/screenpipe/.gitignore
/volume1/screenpipe/archive.db
/volume1/screenpipe/db.sqlite
/volume1/screenpipe/db.sqlite-wal
/volume1/screenpipe/db.sqlite-shm
/volume1/screenpipe/#recycle/desktop.ini
/volume1/screenpipe/#recycle/db.sqlite
/volume1/screenpipe/#recycle/Copy #1 of db.sqlite
/volume1/screenpipe/#recycle/.DS_Store
/volume1/screenpipe/#recycle/Copy #2 of db.sqlite
/volume1/screenpipe/#recycle/archive.db
/volume1/screenpipe/#recycle/Copy #1 of archive.db
/volume1/screenpipe/#recycle/Copy #2 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of archive.db
/volume1/screenpipe/#recycle/Copy #4 of archive.db
/volume1/screenpipe/#recycle/Copy #5 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of db.sqlite
/volume1/screenpipe/#recycle/Copy #4 of db.sqlite
/volume1/screenpipe/#recycle/Copy #6 of archive.db
/volume1/screenpipe/#recycle/test.txt
/volume1/screenpipe/#recycle/Copy #7 of archive.db
/volume1/screenpipe/#recycle/Copy #8 of archive.db
/volume1/screenpipe/#recycle/archive.db-journal
/volume1/screenpipe/#recycle/Copy #1 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #2 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #3 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #4 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #6 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #7 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of db.sqlite
/volume1/screenpipe/pipes/.DS_Store
/volume1/screenpipe/app/.env
/volume1/screenpipe/app/cli.py
/volume1/screenpipe/app/.DS_Store
/volume1/screenpipe/app/db.py
/volume1/screenpipe/app/docker-compose.yml
/volume1/screenpipe/app/main.py
/volume1/screenpipe/app/requirements.txt
/volume1/screenpipe/app/Dockerfile
/volume1/screenpipe/data/.DS_Store
/volume1/screenpipe/.git/description
/volume1/screenpipe/.git/HEAD
/volume1/screenpipe/.git/index
/volume1/screenpipe/.git/COMMIT_EDITMSG
/volume1/screenpipe/#recycle/data/.DS_Store
---
app
app_settings.json
archive.db
data
db.sqlite
db.sqlite-shm
db.sqlite-wal
pipes
#recycle
screenpipe.db
screenpipe_sync.sh
Read
main.py
main.py
Bash
Check pipes directory and docker-compose
IN
ls /volume1/screenpipe/pipes/ && ls /volume1/screenpipe/app/ && cat /volume1/screenpipe/app/docker-compose.yml
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
cli.py
consumers
db.py
docker-compose.yml
Dockerfile
main.py
__pycache__
requirements.txt
static
services:
screenpipe-app:
build: .
container_name: screenpipe-app
restart: unless-stopped
ports:
- "8766:8000"
volumes:
- /volume1/screenpipe:/data
env_file:
- .env
environment:
TZ: Europe/Sofia
DB_PATH: /data/db.sqlite
sqlite-web-archive:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-archive
restart: unless-stopped
ports:
- "8767:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/archive.db"]
sqlite-web-live:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-live
restart: unless-stopped
ports:
- "8768:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/db.sqlite"]
Read
requirements.txt
requirements.txt
Bash
Inspect a pipe directory
IN
ls /volume1/screenpipe/pipes/day-recap/ && cat /volume1/screenpipe/pipes/day-recap/pipe.json 2>/dev/null || ls /volume1/screenpipe/pipes/day-recap/
Copy code to clipboard
OUT
pipe.md
pipe.md
Read
cli.py
cli.py
Bash
List all pipes and their contents
IN
ls /volume1/screenpipe/pipes/ && for d in /volume1/screenpipe/pipes/*/; do echo "=== $d ==="; ls "$d"; done
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
=== /volume1/screenpipe/pipes/ai-habits/ ===
pipe.md
=== /volume1/screenpipe/pipes/day-recap/ ===
pipe.md
=== /volume1/screenpipe/pipes/meeting-summary/ ===
pipe.md
=== /volume1/screenpipe/pipes/standup-update/ ===
pipe.md
=== /volume1/screenpipe/pipes/time-breakdown/ ===
pipe.md
=== /volume1/screenpipe/pipes/video-export/ ===
pipe.md
Bash
Read pipe markdown files
IN...
|
26242
|
NULL
|
NULL
|
NULL
|
|
26245
|
1091
|
2
|
2026-05-12T12:15:15.016172+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778588115016_m2.jpg...
|
Code
|
screenpipe_f — screenpipe [SSH: nas]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_f
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_f, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1
Implement and run pipe l…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports - 1 forwarded port
PORTS
1
Remote - SSH - Output
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 8766
1
Notifications
Sign In
Sign In
Plain Text
Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions
LF
UTF-8
Spaces: 4
Ln 1, Col 1
Info: Downloading VS Code Server...
Implement and run pipe logic
Session history
New session
Message actions
main.py
main.py
lets implement logic with pipes. how can I run it?
Thinking
Thinking
Let me look at the current project structure to understand what's already in place.
Bash
List project files
IN
find /volume1/screenpipe -type f | head -50 && echo "---" && ls /volume1/screenpipe
Copy code to clipboard
OUT
/volume1/screenpipe/.DS_Store
/volume1/screenpipe/screenpipe.db
/volume1/screenpipe/screenpipe_sync.sh
/volume1/screenpipe/app_settings.json
/volume1/screenpipe/.gitignore
/volume1/screenpipe/archive.db
/volume1/screenpipe/db.sqlite
/volume1/screenpipe/db.sqlite-wal
/volume1/screenpipe/db.sqlite-shm
/volume1/screenpipe/#recycle/desktop.ini
/volume1/screenpipe/#recycle/db.sqlite
/volume1/screenpipe/#recycle/Copy #1 of db.sqlite
/volume1/screenpipe/#recycle/.DS_Store
/volume1/screenpipe/#recycle/Copy #2 of db.sqlite
/volume1/screenpipe/#recycle/archive.db
/volume1/screenpipe/#recycle/Copy #1 of archive.db
/volume1/screenpipe/#recycle/Copy #2 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of archive.db
/volume1/screenpipe/#recycle/Copy #4 of archive.db
/volume1/screenpipe/#recycle/Copy #5 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of db.sqlite
/volume1/screenpipe/#recycle/Copy #4 of db.sqlite
/volume1/screenpipe/#recycle/Copy #6 of archive.db
/volume1/screenpipe/#recycle/test.txt
/volume1/screenpipe/#recycle/Copy #7 of archive.db
/volume1/screenpipe/#recycle/Copy #8 of archive.db
/volume1/screenpipe/#recycle/archive.db-journal
/volume1/screenpipe/#recycle/Copy #1 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #2 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #3 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #4 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #6 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #7 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of db.sqlite
/volume1/screenpipe/pipes/.DS_Store
/volume1/screenpipe/app/.env
/volume1/screenpipe/app/cli.py
/volume1/screenpipe/app/.DS_Store
/volume1/screenpipe/app/db.py
/volume1/screenpipe/app/docker-compose.yml
/volume1/screenpipe/app/main.py
/volume1/screenpipe/app/requirements.txt
/volume1/screenpipe/app/Dockerfile
/volume1/screenpipe/data/.DS_Store
/volume1/screenpipe/.git/description
/volume1/screenpipe/.git/HEAD
/volume1/screenpipe/.git/index
/volume1/screenpipe/.git/COMMIT_EDITMSG
/volume1/screenpipe/#recycle/data/.DS_Store
---
app
app_settings.json
archive.db
data
db.sqlite
db.sqlite-shm
db.sqlite-wal
pipes
#recycle
screenpipe.db
screenpipe_sync.sh
Read
main.py
main.py
Bash
Check pipes directory and docker-compose
IN
ls /volume1/screenpipe/pipes/ && ls /volume1/screenpipe/app/ && cat /volume1/screenpipe/app/docker-compose.yml
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
cli.py
consumers
db.py
docker-compose.yml
Dockerfile
main.py
__pycache__
requirements.txt
static
services:
screenpipe-app:
build: .
container_name: screenpipe-app
restart: unless-stopped
ports:
- "8766:8000"
volumes:
- /volume1/screenpipe:/data
env_file:
- .env
environment:
TZ: Europe/Sofia
DB_PATH: /data/db.sqlite
sqlite-web-archive:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-archive
restart: unless-stopped
ports:
- "8767:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/archive.db"]
sqlite-web-live:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-live
restart: unless-stopped
ports:
- "8768:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/db.sqlite"]
Read
requirements.txt
requirements.txt
Bash
Inspect a pipe directory
IN
ls /volume1/screenpipe/pipes/day-recap/ && cat /volume1/screenpipe/pipes/day-recap/pipe.json 2>/dev/null || ls /volume1/screenpipe/pipes/day-recap/
Copy code to clipboard
OUT
pipe.md
pipe.md
Read
cli.py
cli.py
Bash
List all pipes and their contents
IN
ls /volume1/screenpipe/pipes/ && for d in /volume1/screenpipe/pipes/*/; do echo "=== $d ==="; ls "$d"; done
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
=== /volume1/screenpipe/pipes/ai-habits/ ===
pipe.md
=== /volume1/screenpipe/pipes/day-recap/ ===
pipe.md
=== /volume1/screenpipe/pipes/meeting-summary/ ===
pipe.md
=== /volume1/screenpipe/pipes/standup-update/ ===
pipe.md
=== /volume1/screenpipe/pipes/time-breakdown/ ===
pipe.md
=== /volume1/screenpipe/pipes/video-export/ ===
pipe.md
Bash
Read pipe markdown files
IN
cat /volume1/screenpipe/pipes/day-recap/pipe.md && echo "===" && cat /volume1/screenpipe/pipes/meeting-summary/pipe.md 2>/dev/null | head -50
Copy code to clipboard
OUT
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
===
---
schedule: manual
enabled: true
template: true
title: Meeting Summary
description: "Summarize meeting transcript with key takeaways and action items"
icon: "🤝"
featured: false
---
Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.
Read screenpipe skill first.
Use this exact format:
## Meeting Summary
One sentence: what this meeting was about.
## Key Takeaways
- Top 3-5 important points discussed
- Include who said what when relevant
## Action Items
- [ ] Task — assigned to whom, deadline if mentioned
- [ ] Task — assigned to whom
## Decisions Made
- List any decisions or agreements reached
## Open Questions
- Anything unresolved or needing follow-up
Keep it concise and actionable.
Thinking
Thinking
Bash
Read summary consumer
IN
ls /volume1/screenpipe/app/consumers/ && cat /volume1/screenpipe/app/consumers/summary.py
Copy code to clipboard
OUT
activity.py
audio.py
elements.py
__init__.py
interactions.py
ocr.py
__pycache__
report.py
summary.py
"""AI summary generator using Claude."""
import os
from datetime import date
from typing import Any
from consumers.activity import app_time, summary_stats, browser_urls, ui_event_summary
from consumers.ocr import deduplicated_text
from consumers.audio import formatted_transcript
SUMMARY_TYPES = {
"day_recap": {
"title": "Day Recap",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
## Audio/speech:
{audio}
Write a concise day recap using EXACTLY this format:
## Summary
One sentence: what I mainly worked on today.
## Accomplishments
- Top 3 things I finished, with approximate times
- Name specific apps, files, or projects
## Key Moments
- Important things seen or heard, with timestamps
## Unfinished Work
- What to continue tomorrow
## Patterns
- Apps used most, topics that came up repeatedly
Only report what you can verify from the data. End with:
**Next step:** [most important thing to continue]""",
},
"standup": {
"title": "Standup Update",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
## Audio/speech:
{audio}
Write a brief standup update:
**Yesterday:** What I worked on (2-3 bullets)
**Today:** What I plan to continue (1-2 bullets)
**Blockers:** Any issues observed (or "None")
Keep it under 150 words. Only report what's verifiable from the data.""",
},
"focus_time": {
"title": "Focus & Distraction Analysis",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
Analyze focus vs distraction patterns:
## Deep Work Periods
- When and how long were sustained focus sessions?
- What was being worked on?
## Distractions
- Which apps/sites were used recreationally?
- How much time was lost to context switching?
## Recommendations
- 2-3 concrete suggestions to improve focus tomorrow
Be specific with times and app names.""",
},
}
def _build_context(for_date: date) -> dict[str, str]:
apps = app_time(for_date)
app_lines = "\n".join(f"- {a['app_name']}: {a['minutes']} min" for a in apps[:20])
urls = browser_urls(for_date, limit=20)
url_lines = "\n".join(
f"- {u['browser_url'][:100]} ({u['minutes']} min)" for u in urls
)
ui_rows = ui_event_summary(for_date)
ui_lines = "\n".join(
f"- {r['app_name']}: {r['clicks']} clicks, {r['keystrokes']} keys, {r['switches']} switches"
for r in ui_rows[:15]
)
ocr_rows = deduplicated_text(for_date, chunk_minutes=5)
ocr_lines = "\n".join(
f"[{r['bucket']}] {r['app_name']} / {r['window_name'] or ''}: {r['text'][:200]}"
for r in ocr_rows[:100]
)
audio = formatted_transcript(for_date)
return {
"app_time": app_lines or "(no app data)",
"browser_urls": url_lines or "(no browser data)",
"ui_events": ui_lines or "(no UI event data)",
"ocr_text": ocr_lines or "(no screen data)",
"audio": audio[:3000] if len(audio) > 3000 else audio,
}
def generate(
summary_type: str = "day_recap",
for_date: date | None = None,
api_key: str | None = None,
) -> dict[str, Any]:
"""Generate an AI summary. Returns dict with 'title', 'content', 'date'."""
import anthropic
d = for_date or date.today()
key = api_key or os.environ.get("ANTHROPIC_API_KEY", "")
if not key:
return {
"title": "Error",
"content": "ANTHROPIC_API_KEY not set. Add it to your .env file.",
"date": str(d),
}
spec = SUMMARY_TYPES.get(summary_type)
if not spec:
return {"title": "Error", "content": f"Unknown summary type: {summary_type}", "date": str(d)}
stats = summary_stats(d)
if stats["total_frames"] == 0:
return {
"title": spec["title"],
"content": f"No screen data found for {d}.",
"date": str(d),
}
ctx = _build_context(d)
prompt = spec["prompt"].format(**ctx)
client = anthropic.Anthropic(api_key=key)
message = client.messages.create(
model="claude-haiku-4-5-20251001",
max_tokens=1024,
messages=[{"role": "user", "content": prompt}],
)
return {
"title": spec["title"],
"content": message.content[0].text,
"date": str(d),
"stats": stats,
}
Thinking
Thinking
Bash
Read all pipe.md files
IN
for f in /volume1/screenpipe/pipes/*/pipe.md; do echo "=== $f ==="; cat "$f"; echo; done
Copy code to clipboard
OUT
=== /volume1/screenpipe/pipes/ai-habits/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: AI Habits
description: "How you use AI tools — patterns and insights"
icon: "🤖"
featured: true
---
Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.
Read screenpipe skill first.
Use this exact format:
## AI Tools Used
- List each tool with approximate time spent (e.g. "Claude: ~45min")
## What I Used Them For
- For each tool: coding, writing, research, or brainstorming
## Usage Patterns
- Do I switch between tools? Use them in bursts or steadily?
## Effectiveness
- Which tool appeared alongside completed work vs. abandoned attempts
If no AI usage is found, say so clearly. End with: "**Tip:** [one suggestion to use AI tools more effectively]"
=== /volume1/screenpipe/pipes/day-recap/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
=== /volume1/screenpipe/pipes/meeting-summary/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Meeting Summary
description: "Summarize meeting transcript with key takeaways and action items"
icon: "🤝"
featured: false
---
Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.
Read screenpipe skill first.
Use this exact format:
## Meeting Summary
One sentence: what this meeting was about.
## Key Takeaways
- Top 3-5 important points discussed
- Include who said what when relevant
## Action Items
- [ ] Task — assigned to whom, deadline if mentioned
- [ ] Task — assigned to whom
## Decisions Made
- List any decisions or agreements reached
## Open Questions
- Anything unresolved or needing follow-up
Keep it concise and actionable.
=== /volume1/screenpipe/pipes/standup-update/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Standup Update
description: "What you did, what's next, and any blockers"
icon: "🏢"
featured: true
---
Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.
Read screenpipe skill first.
Use this exact format:
## Yesterday
- What I worked on (name specific projects, files, tools, PRs)
## Today
- What I will work on next (based on unfinished tasks and recent activity)
## Blockers
- Issues I hit — errors, slow builds, waiting on someone
- If no blockers, write "None"
Keep it under 150 words. Copy-paste ready for a team standup.
=== /volume1/screenpipe/pipes/time-breakdown/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Time Breakdown
description: "Where your time went — by app, project, and category"
icon: "⏱"
featured: false
---
Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.
Read screenpipe skill first.
Use this exact format with durations and percentages:
## By Application
- List each app with duration and percentage, sorted by time (e.g. "VS Code: 2h 15min (28%)")
## By Category
- Group into: coding, meetings, browsing, writing, communication, other
- Show hours and percentage per category
## By Project
- Group related activities by project/topic. Name specific repos or tasks.
## Productivity Score
- Calculate: focused_work_hours / total_hours as a percentage
- Focused = coding + writing. Unfocused = browsing + switching.
End with: "**Suggestion:** [one specific change to improve tomorrow's productivity]"
=== /volume1/screenpipe/pipes/video-export/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Export Video Clip
description: "Create a video of your recent screen activity"
icon: "🎬"
featured: false
---
Export a video of my screen activity from the last 5 minutes.
Read screenpipe skill first.
Use the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.
If the export is large, suggest a lower fps or shorter time range.
Thinking
Thinking
Now I have a clear picture. The pipes are markdown prompt templates in
/volume1/screenpipe/pipes/
, but there's no code to actually load and run them —
consumers/summary.py
has its own hardcoded prompts instead.
Here's what I'll implement:
consumers/pipes.py
— dynamically loads pipe.md files and runs them via Claude (data injected as system message, pipe body as user prompt)
main.py
— two new endpoints:
GET /api/pipes
and
POST /api/pipes/{pipe_id}/run
cli.py
— a
pipe
command to run pipes from the terminal
Let me build it:
Bash
Check browser_urls signature
IN
cat /volume1/screenpipe/app/consumers/activity.py | grep "def browser_urls" -A 5
Copy code to clipboard
OUT
def browser_urls(
for_date: date | None = None,
app_name: str | None = None,
ts_from: str | None = None,
ts_to: str | None = None,
limit: int = 30,
Write
pipes.py
pipes.py
143 lines
"""Dynamic pipe loader and runner."""
import os
import re
from datetime import date
from pathlib import Path
from typing import Any
def _parse_frontmatter(text: str) -> tuple[dict, str]:
if not text.startswith("---"):
return {}, text
try:
end = text.index("---", 3)
except ValueError:
return {}, text
fm_text = text[3:end].strip()
body = text[end + 3:].strip()
meta: dict = {}
for line in fm_text.splitlines():
if ":" in line:
k, _, v = line.partition(":")
meta[k.strip()] = v.strip().strip('"')
return meta, body
def load_pipes(pipes_dir: Path) -> list[dict]:
if not pipes_dir.exists():
return []
pipes = []
for pipe_dir in sorted(pipes_dir.iterdir()):
if not pipe_dir.is_dir() or pipe_dir.name.startswith("."):
continue
pipe_md = pipe_dir / "pipe.md"
if not pipe_md.exists():
continue
text = pipe_md.read_text(encoding="utf-8")
meta, body = _parse_frontmatter(text)
if meta.get("enabled", "true").lower() == "false":
continue
body = re.sub(r"Read screenpipe skill first\.?\n?", "", body).strip()
pipes.append({
"id": pipe_dir.name,
"title": meta.get("title", pipe_dir.name),
"description": meta.get("description", ""),
"icon": meta.get("icon", ""),
"schedule": meta.get("schedule", "manual"),
"featured": meta.get("featured", "false").lower() == "true",
"prompt": body,
})
return pipes
def _build_system(d: date, stats: dict) -> str:
from consumers.activity import app_time, browser_urls, ui_event_summary
from consumers.ocr import deduplicated_text
from consumers.audio import formatted_transcript
apps = app_time(d)
app_lines = "\n".join(f"- {a['app_name']}: {a['minutes']} min" for a in apps[:20])
urls = browser_urls(d, limit=20)
url_lines = "\n".join(f"- {u['browser_url'][:100]} ({u['minutes']} min)" for u in urls)
ui_rows = ui_event_summary(d)
ui_lines = "\n".join(
f"- {r['app_name']}: {r['clicks']} clicks, {r['keystrokes']} keys, {r['switches']} switches"
for r in ui_rows[:15]
)
ocr_rows = deduplicated_text(d, chunk_minutes=5)
ocr_lines = "\n".join(
f"[{r['bucket']}] {r['app_name']} / {r['window_name'] or ''}: {r['text'][:200]}"
for r in ocr_rows[:100]
)
audio = formatted_transcript(d)
if len(audio) > 3000:
audio = audio[:3000]
return f"""You are analyzing screenpipe data — recordings of a person's computer activity.
## App usage (minutes per app):
{app_lines or '(no app data)'}
## Browser URLs visited:
{url_lines or '(no browser data)'}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_lines or '(no UI event data)'}
## Screen content (sampled every 5 minutes):
{ocr_lines or '(no screen data)'}
## Audio / speech:
{audio or '(no audio data)'}
Date: {d}
Total frames recorded: {stats['total_frames']}"""
def run_pipe(
pipe_id: str,
for_date: date | None = None,
api_key: str | None = None,
pipes_dir: Path | None = None,
) -> dict[str, Any]:
import anthropic
from consumers.activity import summary_stats
d = for_date or date.today()
key = api_key or os.environ.get("ANTHROPIC_API_KEY", "")
if not key:
return {"title": "Error", "content": "ANTHROPIC_API_KEY not set.", "date": str(d)}
_pipes_dir = pipes_dir or Path(os.environ.get("PIPES_DIR", "/data/pipes"))
all_pipes = {p["id"]: p for p in load_pipes(_pipes_dir)}
if pipe_id not in all_pipes:
return {"title": "Error", "content": f"Pipe not found: {pipe_id}", "date": str(d)}
pipe = all_pipes[pipe_id]
stats = summary_stats(d)
if stats["total_frames"] == 0:
return {"title": pipe["title"], "content": f"No screen data found for {d}.", "date": str(d)}
system = _build_system(d, stats)
client = anthropic.Anthropic(api_key=key)
message = client.messages.create(
model="claude-haiku-4-5-20251001",
max_tokens=1024,
system=system,
messages=[{"role": "user", "content": pipe["prompt"]}],
)
return {
"title": pipe["title"],
"content": message.content[0].text,
"date": str(d),
"stats": stats,
}
Now add the API endpoints to
main.py
:
Edit
main.py
main.py
Added 1 line
Edit
main.py
main.py
Added 1 line
Now add the pipe endpoints at the end of main.py, before the closing summary section:
Edit
main.py...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⇧⌘E) - 1 unsaved file","depth":19,"bounds":{"left":0.0003324468,"top":0.047885075,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.057462092,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":22,"bounds":{"left":0.009973404,"top":0.06863528,"width":0.0016622341,"height":0.008778931},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":19,"bounds":{"left":0.0003324468,"top":0.08619314,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.09577015,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⌃⇧G) - 11 pending changes","depth":19,"bounds":{"left":0.0003324468,"top":0.1245012,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.13407822,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"11","depth":22,"bounds":{"left":0.008976064,"top":0.1452514,"width":0.0033244682,"height":0.008778931},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.00930851,"top":0.14604948,"width":0.0016622341,"height":0.007980846}},{"char_start":1,"char_count":1,"bounds":{"left":0.010638298,"top":0.14604948,"width":0.0019946808,"height":0.007980846}}],"role_description":"text"},{"role":"AXRadioButton","text":"Run and Debug (⇧⌘D)","depth":19,"bounds":{"left":0.0003324468,"top":0.16280925,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.17238627,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":19,"bounds":{"left":0.0003324468,"top":0.20111732,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.21069433,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X) - 2 require update, 1 requires restart","depth":19,"bounds":{"left":0.0003324468,"top":0.23942538,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.2490024,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"bounds":{"left":0.009640957,"top":0.2601756,"width":0.0023271276,"height":0.008778931},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Claude Code","depth":19,"bounds":{"left":0.0003324468,"top":0.27773345,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Containers","depth":19,"bounds":{"left":0.0003324468,"top":0.3160415,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"EXPLORER","depth":17,"bounds":{"left":0.022938829,"top":0.047885075,"width":0.018949468,"height":0.02793296},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"EXPLORER","depth":18,"bounds":{"left":0.022938829,"top":0.056664005,"width":0.018949468,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.056664005,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.025265958,"top":0.056664005,"width":0.01662234,"height":0.0103751}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.016289894,"top":0.07581804,"width":0.09940159,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.016954787,"top":0.07821229,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.022938829,"top":0.07581804,"width":0.045877658,"height":0.017557861},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"SCREENPIPE [SSH: NAS]","depth":23,"bounds":{"left":0.022938829,"top":0.079010375,"width":0.045877658,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.07980846,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":20,"bounds":{"left":0.025598405,"top":0.07980846,"width":0.043218084,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.09577015,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.026263298,"top":0.09577015,"width":0.017287234,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.096568234,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":7,"bounds":{"left":0.028922873,"top":0.096568234,"width":0.01462766,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.11332801,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.026263298,"top":0.11332801,"width":0.0076462766,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.11412609,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":2,"bounds":{"left":0.028590426,"top":0.11412609,"width":0.005319149,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.10638298,"top":0.11412609,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.13088587,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.026263298,"top":0.13088587,"width":0.008976064,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.13168396,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.028922873,"top":0.13168396,"width":0.0063164895,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.14844373,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.026263298,"top":0.14844373,"width":0.00831117,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.14924182,"width":0.0009973404,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.027260639,"top":0.14924182,"width":0.0076462766,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.10638298,"top":0.14924182,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.1660016,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.026263298,"top":0.1660016,"width":0.010970744,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.16679968,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":4,"bounds":{"left":0.028922873,"top":0.16679968,"width":0.00831117,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.1819633,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.026263298,"top":0.18355946,"width":0.018949468,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.18435754,"width":0.0013297872,"height":0.011971269}},{"char_start":1,"char_count":9,"bounds":{"left":0.027593086,"top":0.18435754,"width":0.017952127,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.19952115,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.026263298,"top":0.20111732,"width":0.03557181,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.2019154,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":16,"bounds":{"left":0.028590426,"top":0.2019154,"width":0.03324468,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.21707901,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.026263298,"top":0.21867518,"width":0.020944148,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.21947326,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":9,"bounds":{"left":0.028590426,"top":0.21947326,"width":0.01861702,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.23463687,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.026263298,"top":0.23623304,"width":0.03025266,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.23703113,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":13,"bounds":{"left":0.028590426,"top":0.23703113,"width":0.027925532,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.107380316,"top":0.23703113,"width":0.0029920214,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.25219473,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.026263298,"top":0.25379092,"width":0.017287234,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.254589,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":8,"bounds":{"left":0.028922873,"top":0.254589,"width":0.014960106,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.2697526,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.026263298,"top":0.27134877,"width":0.027925532,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.27214685,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":12,"bounds":{"left":0.028922873,"top":0.27214685,"width":0.025265958,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.28731045,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.026263298,"top":0.28890663,"width":0.025930852,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.2897047,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":12,"bounds":{"left":0.028922873,"top":0.2897047,"width":0.023603724,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.3048683,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXTextField","text":"screenpipe_f","depth":28,"bounds":{"left":0.026595745,"top":0.3048683,"width":0.0887633,"height":0.015961692},"on_screen":true,"value":"screenpipe_f","role_description":"text field","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.32242617,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.026263298,"top":0.32402235,"width":0.059175532,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.32482043,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":25,"bounds":{"left":0.028590426,"top":0.32482043,"width":0.056848403,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.107380316,"top":0.32482043,"width":0.0029920214,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.33998403,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.026263298,"top":0.3415802,"width":0.039893616,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.3423783,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":17,"bounds":{"left":0.028590426,"top":0.3423783,"width":0.037898935,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.106715426,"top":0.3423783,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.3575419,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.026263298,"top":0.35913807,"width":0.028590426,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.35993615,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":12,"bounds":{"left":0.028590426,"top":0.35993615,"width":0.026595745,"height":0.011971269}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.016289894,"top":0.9473264,"width":0.09940159,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.016954787,"top":0.9497207,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"OUTLINE","depth":22,"bounds":{"left":0.022938829,"top":0.9473264,"width":0.01662234,"height":0.017557861},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"OUTLINE","depth":23,"bounds":{"left":0.022938829,"top":0.95131683,"width":0.01662234,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.95131683,"width":0.0029920214,"height":0.0103751}},{"char_start":1,"char_count":6,"bounds":{"left":0.025930852,"top":0.95131683,"width":0.013630319,"height":0.0103751}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.016289894,"top":0.9648843,"width":0.09940159,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.016954787,"top":0.96727854,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"TIMELINE","depth":22,"bounds":{"left":0.022938829,"top":0.9648843,"width":0.01761968,"height":0.017557861},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"TIMELINE","depth":23,"bounds":{"left":0.022938829,"top":0.9688747,"width":0.01761968,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.9688747,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.025598405,"top":0.9688747,"width":0.015292553,"height":0.0103751}}],"role_description":"text"},{"role":"AXRadioButton","text":"app_settings.json, Editor Group 1","depth":28,"bounds":{"left":0.116023935,"top":0.047885075,"width":0.055851065,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync.sh, Editor Group 1","depth":28,"bounds":{"left":0.171875,"top":0.047885075,"width":0.06549202,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_f, Editor Group 1","depth":28,"bounds":{"left":0.23736702,"top":0.047885075,"width":0.046875,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync_updated.sh, preview, Editor Group 1","depth":28,"bounds":{"left":0.2839096,"top":0.047885075,"width":0.0831117,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"pipe.md, Editor Group 1","depth":28,"bounds":{"left":0.36702126,"top":0.047885075,"width":0.039893616,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":".env, Editor Group 1","depth":28,"bounds":{"left":0.4069149,"top":0.047885075,"width":0.039893616,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"","depth":28,"bounds":{"left":0.13763298,"top":0.09497207,"width":0.0003324468,"height":0.011173184},"on_screen":true,"value":"","role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":29,"bounds":{"left":0.13763298,"top":0.09497207,"width":0.0003324468,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Implement and run pipe l…, Editor Group 2","depth":28,"bounds":{"left":0.5581782,"top":0.047885075,"width":0.073803194,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"Problems (⇧⌘M)","depth":22,"bounds":{"left":0.11868351,"top":0.7278532,"width":0.027925532,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PROBLEMS","depth":24,"bounds":{"left":0.12267287,"top":0.7366321,"width":0.019946808,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Output (⇧⌘U)","depth":22,"bounds":{"left":0.1462766,"top":0.7278532,"width":0.023603724,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"OUTPUT","depth":24,"bounds":{"left":0.15026596,"top":0.7366321,"width":0.015625,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Debug Console (⇧⌘Y)","depth":22,"bounds":{"left":0.16954787,"top":0.7278532,"width":0.039893616,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"DEBUG CONSOLE","depth":24,"bounds":{"left":0.17353724,"top":0.7366321,"width":0.031914894,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Terminal (⌃`)","depth":22,"bounds":{"left":0.20910904,"top":0.7278532,"width":0.026595745,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"TERMINAL","depth":24,"bounds":{"left":0.2130984,"top":0.7366321,"width":0.01861702,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.21343085,"top":0.73743016,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.21575798,"top":0.73743016,"width":0.016289894,"height":0.0103751}}],"role_description":"text"},{"role":"AXRadioButton","text":"Ports - 1 forwarded port","depth":22,"bounds":{"left":0.2357048,"top":0.7278532,"width":0.026263298,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"PORTS","depth":24,"bounds":{"left":0.23969415,"top":0.7366321,"width":0.012300532,"height":0.0103751},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":25,"bounds":{"left":0.2549867,"top":0.73743016,"width":0.0019946808,"height":0.008778931},"on_screen":true,"role_description":"text"},{"role":"AXTextArea","text":"Remote - SSH - Output","depth":27,"bounds":{"left":0.12267287,"top":0.9680766,"width":0.87200797,"height":0.014365523},"on_screen":true,"role_description":"editor","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"remote SSH: nas","depth":16,"bounds":{"left":0.0009973404,"top":0.98244214,"width":0.028590426,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.003656915,"top":0.9848364,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"SSH: nas","depth":17,"bounds":{"left":0.008976064,"top":0.9856345,"width":0.017952127,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.008976064,"top":0.9856345,"width":0.0013297872,"height":0.011173184}},{"char_start":1,"char_count":7,"bounds":{"left":0.010305851,"top":0.9856345,"width":0.01462766,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - master*, Checkout Branch/Tag...","depth":16,"bounds":{"left":0.03125,"top":0.98244214,"width":0.023271276,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.032247342,"top":0.9848364,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"master*","depth":17,"bounds":{"left":0.03756649,"top":0.9856345,"width":0.015957447,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.03756649,"top":0.9856345,"width":0.0013297872,"height":0.011173184}},{"char_start":1,"char_count":6,"bounds":{"left":0.038896278,"top":0.9856345,"width":0.012965426,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"screenpipe (Git) - Synchronize Changes","depth":16,"bounds":{"left":0.054521278,"top":0.98244214,"width":0.00731383,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"No Problems","depth":16,"bounds":{"left":0.064494684,"top":0.98244214,"width":0.022606382,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.06615692,"top":0.9848364,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.071476065,"top":0.9856345,"width":0.004986702,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.076130316,"top":0.9848364,"width":0.0056515955,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"0","depth":17,"bounds":{"left":0.08144947,"top":0.9856345,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Forwarded Ports: 8766","depth":16,"bounds":{"left":0.0887633,"top":0.98244214,"width":0.012632979,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.09042553,"top":0.9848364,"width":0.0056515955,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":17,"bounds":{"left":0.095744684,"top":0.9856345,"width":0.0039893617,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Notifications","depth":16,"bounds":{"left":0.9890292,"top":0.98244214,"width":0.010638298,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Sign In","depth":16,"bounds":{"left":0.96542555,"top":0.98244214,"width":0.022606382,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":17,"bounds":{"left":0.96708775,"top":0.9848364,"width":0.0056515955,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Sign In","depth":17,"bounds":{"left":0.9724069,"top":0.9856345,"width":0.013962766,"height":0.011173184},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.9724069,"top":0.9856345,"width":0.0013297872,"height":0.011173184}},{"char_start":1,"char_count":6,"bounds":{"left":0.9737367,"top":0.9856345,"width":0.010638298,"height":0.011173184}}],"role_description":"text"},{"role":"AXButton","text":"Plain Text","depth":16,"bounds":{"left":0.9428192,"top":0.98244214,"width":0.020279255,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions","depth":16,"bounds":{"left":0.93550533,"top":0.98244214,"width":0.00731383,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"LF","depth":16,"bounds":{"left":0.92486703,"top":0.98244214,"width":0.007978723,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"UTF-8","depth":16,"bounds":{"left":0.9075798,"top":0.98244214,"width":0.015625,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Spaces: 4","depth":16,"bounds":{"left":0.8836436,"top":0.98244214,"width":0.021941489,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Ln 1, Col 1","depth":16,"bounds":{"left":0.85771275,"top":0.98244214,"width":0.023936171,"height":0.01755786},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Info: Downloading VS Code Server...","depth":12,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Implement and run pipe logic","depth":19,"bounds":{"left":0.56050533,"top":0.08060654,"width":0.07114362,"height":0.022346368},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Session history","depth":19,"bounds":{"left":0.97839093,"top":0.08060654,"width":0.00930851,"height":0.022346368},"on_screen":true,"help_text":"Session history","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"New session","depth":19,"bounds":{"left":0.9890292,"top":0.08060654,"width":0.00930851,"height":0.022346368},"on_screen":true,"help_text":"New session","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Message actions","depth":24,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"main.py","depth":23,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"lets implement logic with pipes. how can I run it?","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Let me look at the current project structure to understand what's already in place.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List project files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"find /volume1/screenpipe -type f | head -50 && echo \"---\" && ls /volume1/screenpipe","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/.DS_Store\n/volume1/screenpipe/screenpipe.db\n/volume1/screenpipe/screenpipe_sync.sh\n/volume1/screenpipe/app_settings.json\n/volume1/screenpipe/.gitignore\n/volume1/screenpipe/archive.db\n/volume1/screenpipe/db.sqlite\n/volume1/screenpipe/db.sqlite-wal\n/volume1/screenpipe/db.sqlite-shm\n/volume1/screenpipe/#recycle/desktop.ini\n/volume1/screenpipe/#recycle/db.sqlite\n/volume1/screenpipe/#recycle/Copy #1 of db.sqlite\n/volume1/screenpipe/#recycle/.DS_Store\n/volume1/screenpipe/#recycle/Copy #2 of db.sqlite\n/volume1/screenpipe/#recycle/archive.db\n/volume1/screenpipe/#recycle/Copy #1 of archive.db\n/volume1/screenpipe/#recycle/Copy #2 of archive.db\n/volume1/screenpipe/#recycle/Copy #3 of archive.db\n/volume1/screenpipe/#recycle/Copy #4 of archive.db\n/volume1/screenpipe/#recycle/Copy #5 of archive.db\n/volume1/screenpipe/#recycle/Copy #3 of db.sqlite\n/volume1/screenpipe/#recycle/Copy #4 of db.sqlite\n/volume1/screenpipe/#recycle/Copy #6 of archive.db\n/volume1/screenpipe/#recycle/test.txt\n/volume1/screenpipe/#recycle/Copy #7 of archive.db\n/volume1/screenpipe/#recycle/Copy #8 of archive.db\n/volume1/screenpipe/#recycle/archive.db-journal\n/volume1/screenpipe/#recycle/Copy #1 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #2 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #3 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #4 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #5 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #6 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #7 of archive.db-journal\n/volume1/screenpipe/#recycle/Copy #5 of db.sqlite\n/volume1/screenpipe/pipes/.DS_Store\n/volume1/screenpipe/app/.env\n/volume1/screenpipe/app/cli.py\n/volume1/screenpipe/app/.DS_Store\n/volume1/screenpipe/app/db.py\n/volume1/screenpipe/app/docker-compose.yml\n/volume1/screenpipe/app/main.py\n/volume1/screenpipe/app/requirements.txt\n/volume1/screenpipe/app/Dockerfile\n/volume1/screenpipe/data/.DS_Store\n/volume1/screenpipe/.git/description\n/volume1/screenpipe/.git/HEAD\n/volume1/screenpipe/.git/index\n/volume1/screenpipe/.git/COMMIT_EDITMSG\n/volume1/screenpipe/#recycle/data/.DS_Store\n---\napp\napp_settings.json\narchive.db\ndata\ndb.sqlite\ndb.sqlite-shm\ndb.sqlite-wal\npipes\n#recycle\nscreenpipe.db\nscreenpipe_sync.sh","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"main.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check pipes directory and docker-compose","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/ && ls /volume1/screenpipe/app/ && cat /volume1/screenpipe/app/docker-compose.yml","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ai-habits\nday-recap\nmeeting-summary\nstandup-update\ntime-breakdown\nvideo-export\ncli.py\nconsumers\ndb.py\ndocker-compose.yml\nDockerfile\nmain.py\n__pycache__\nrequirements.txt\nstatic\nservices:\n screenpipe-app:\n build: .\n container_name: screenpipe-app\n restart: unless-stopped\n ports:\n - \"8766:8000\"\n volumes:\n - /volume1/screenpipe:/data\n env_file:\n - .env\n environment:\n TZ: Europe/Sofia\n DB_PATH: /data/db.sqlite\n\n sqlite-web-archive:\n image: ghcr.io/coleifer/sqlite-web:latest\n container_name: screenpipe-sqlweb-archive\n restart: unless-stopped\n ports:\n - \"8767:8080\"\n volumes:\n - /volume1/screenpipe:/data\n command: [\"-H\", \"0.0.0.0\", \"-r\", \"/data/archive.db\"]\n\n sqlite-web-live:\n image: ghcr.io/coleifer/sqlite-web:latest\n container_name: screenpipe-sqlweb-live\n restart: unless-stopped\n ports:\n - \"8768:8080\"\n volumes:\n - /volume1/screenpipe:/data\n command: [\"-H\", \"0.0.0.0\", \"-r\", \"/data/db.sqlite\"]","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"requirements.txt","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"requirements.txt","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Inspect a pipe directory","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/day-recap/ && cat /volume1/screenpipe/pipes/day-recap/pipe.json 2>/dev/null || ls /volume1/screenpipe/pipes/day-recap/","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"pipe.md\npipe.md","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"cli.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"cli.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List all pipes and their contents","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/pipes/ && for d in /volume1/screenpipe/pipes/*/; do echo \"=== $d ===\"; ls \"$d\"; done","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ai-habits\nday-recap\nmeeting-summary\nstandup-update\ntime-breakdown\nvideo-export\n=== /volume1/screenpipe/pipes/ai-habits/ ===\npipe.md\n=== /volume1/screenpipe/pipes/day-recap/ ===\npipe.md\n=== /volume1/screenpipe/pipes/meeting-summary/ ===\npipe.md\n=== /volume1/screenpipe/pipes/standup-update/ ===\npipe.md\n=== /volume1/screenpipe/pipes/time-breakdown/ ===\npipe.md\n=== /volume1/screenpipe/pipes/video-export/ ===\npipe.md","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read pipe markdown files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cat /volume1/screenpipe/pipes/day-recap/pipe.md && echo \"===\" && cat /volume1/screenpipe/pipes/meeting-summary/pipe.md 2>/dev/null | head -50","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Day Recap\ndescription: \"Today's accomplishments, key moments, and unfinished work\"\nicon: \"📋\"\nfeatured: true\n---\n\nAnalyze my screen and audio recordings from today (last 16 hours only). \n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Summary\nOne sentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM\")\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things I saw, said, or heard — with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow — name the app/file/task\n\n## Patterns\n- Apps I used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"\n===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Meeting Summary\ndescription: \"Summarize meeting transcript with key takeaways and action items\"\nicon: \"🤝\"\nfeatured: false\n---\n\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Meeting Summary\nOne sentence: what this meeting was about.\n\n## Key Takeaways\n- Top 3-5 important points discussed\n- Include who said what when relevant\n\n## Action Items\n- [ ] Task — assigned to whom, deadline if mentioned\n- [ ] Task — assigned to whom\n\n## Decisions Made\n- List any decisions or agreements reached\n\n## Open Questions\n- Anything unresolved or needing follow-up\n\nKeep it concise and actionable.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read summary consumer","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"ls /volume1/screenpipe/app/consumers/ && cat /volume1/screenpipe/app/consumers/summary.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"activity.py\naudio.py\nelements.py\n__init__.py\ninteractions.py\nocr.py\n__pycache__\nreport.py\nsummary.py\n\"\"\"AI summary generator using Claude.\"\"\"\nimport os\nfrom datetime import date\nfrom typing import Any\n\nfrom consumers.activity import app_time, summary_stats, browser_urls, ui_event_summary\nfrom consumers.ocr import deduplicated_text\nfrom consumers.audio import formatted_transcript\n\n\nSUMMARY_TYPES = {\n \"day_recap\": {\n \"title\": \"Day Recap\",\n \"prompt\": \"\"\"\\\nYou are analyzing a person's computer activity for the day.\n\n## App usage (minutes per app):\n{app_time}\n\n## Browser URLs visited:\n{browser_urls}\n\n## UI activity per app (clicks / keystrokes / app-switches):\n{ui_events}\n\n## Screen content (sampled every 5 minutes):\n{ocr_text}\n\n## Audio/speech:\n{audio}\n\nWrite a concise day recap using EXACTLY this format:\n\n## Summary\nOne sentence: what I mainly worked on today.\n\n## Accomplishments\n- Top 3 things I finished, with approximate times\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things seen or heard, with timestamps\n\n## Unfinished Work\n- What to continue tomorrow\n\n## Patterns\n- Apps used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with:\n**Next step:** [most important thing to continue]\"\"\",\n },\n \"standup\": {\n \"title\": \"Standup Update\",\n \"prompt\": \"\"\"\\\nYou are analyzing a person's computer activity for the day.\n\n## App usage (minutes per app):\n{app_time}\n\n## Browser URLs visited:\n{browser_urls}\n\n## UI activity per app (clicks / keystrokes / app-switches):\n{ui_events}\n\n## Screen content (sampled every 5 minutes):\n{ocr_text}\n\n## Audio/speech:\n{audio}\n\nWrite a brief standup update:\n\n**Yesterday:** What I worked on (2-3 bullets)\n**Today:** What I plan to continue (1-2 bullets)\n**Blockers:** Any issues observed (or \"None\")\n\nKeep it under 150 words. Only report what's verifiable from the data.\"\"\",\n },\n \"focus_time\": {\n \"title\": \"Focus & Distraction Analysis\",\n \"prompt\": \"\"\"\\\nYou are analyzing a person's computer activity for the day.\n\n## App usage (minutes per app):\n{app_time}\n\n## Browser URLs visited:\n{browser_urls}\n\n## UI activity per app (clicks / keystrokes / app-switches):\n{ui_events}\n\n## Screen content (sampled every 5 minutes):\n{ocr_text}\n\nAnalyze focus vs distraction patterns:\n\n## Deep Work Periods\n- When and how long were sustained focus sessions?\n- What was being worked on?\n\n## Distractions\n- Which apps/sites were used recreationally?\n- How much time was lost to context switching?\n\n## Recommendations\n- 2-3 concrete suggestions to improve focus tomorrow\n\nBe specific with times and app names.\"\"\",\n },\n}\n\n\ndef _build_context(for_date: date) -> dict[str, str]:\n apps = app_time(for_date)\n app_lines = \"\\n\".join(f\"- {a['app_name']}: {a['minutes']} min\" for a in apps[:20])\n\n urls = browser_urls(for_date, limit=20)\n url_lines = \"\\n\".join(\n f\"- {u['browser_url'][:100]} ({u['minutes']} min)\" for u in urls\n )\n\n ui_rows = ui_event_summary(for_date)\n ui_lines = \"\\n\".join(\n f\"- {r['app_name']}: {r['clicks']} clicks, {r['keystrokes']} keys, {r['switches']} switches\"\n for r in ui_rows[:15]\n )\n\n ocr_rows = deduplicated_text(for_date, chunk_minutes=5)\n ocr_lines = \"\\n\".join(\n f\"[{r['bucket']}] {r['app_name']} / {r['window_name'] or ''}: {r['text'][:200]}\"\n for r in ocr_rows[:100]\n )\n\n audio = formatted_transcript(for_date)\n\n return {\n \"app_time\": app_lines or \"(no app data)\",\n \"browser_urls\": url_lines or \"(no browser data)\",\n \"ui_events\": ui_lines or \"(no UI event data)\",\n \"ocr_text\": ocr_lines or \"(no screen data)\",\n \"audio\": audio[:3000] if len(audio) > 3000 else audio,\n }\n\n\ndef generate(\n summary_type: str = \"day_recap\",\n for_date: date | None = None,\n api_key: str | None = None,\n) -> dict[str, Any]:\n \"\"\"Generate an AI summary. Returns dict with 'title', 'content', 'date'.\"\"\"\n import anthropic\n\n d = for_date or date.today()\n key = api_key or os.environ.get(\"ANTHROPIC_API_KEY\", \"\")\n if not key:\n return {\n \"title\": \"Error\",\n \"content\": \"ANTHROPIC_API_KEY not set. Add it to your .env file.\",\n \"date\": str(d),\n }\n\n spec = SUMMARY_TYPES.get(summary_type)\n if not spec:\n return {\"title\": \"Error\", \"content\": f\"Unknown summary type: {summary_type}\", \"date\": str(d)}\n\n stats = summary_stats(d)\n if stats[\"total_frames\"] == 0:\n return {\n \"title\": spec[\"title\"],\n \"content\": f\"No screen data found for {d}.\",\n \"date\": str(d),\n }\n\n ctx = _build_context(d)\n prompt = spec[\"prompt\"].format(**ctx)\n\n client = anthropic.Anthropic(api_key=key)\n message = client.messages.create(\n model=\"claude-haiku-4-5-20251001\",\n max_tokens=1024,\n messages=[{\"role\": \"user\", \"content\": prompt}],\n )\n\n return {\n \"title\": spec[\"title\"],\n \"content\": message.content[0].text,\n \"date\": str(d),\n \"stats\": stats,\n }","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Read all pipe.md files","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"for f in /volume1/screenpipe/pipes/*/pipe.md; do echo \"=== $f ===\"; cat \"$f\"; echo; done","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"=== /volume1/screenpipe/pipes/ai-habits/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: AI Habits\ndescription: \"How you use AI tools — patterns and insights\"\nicon: \"🤖\"\nfeatured: true\n---\n\nSearch my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.\n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## AI Tools Used\n- List each tool with approximate time spent (e.g. \"Claude: ~45min\")\n\n## What I Used Them For\n- For each tool: coding, writing, research, or brainstorming\n\n## Usage Patterns\n- Do I switch between tools? Use them in bursts or steadily?\n\n## Effectiveness\n- Which tool appeared alongside completed work vs. abandoned attempts\n\nIf no AI usage is found, say so clearly. End with: \"**Tip:** [one suggestion to use AI tools more effectively]\"\n\n=== /volume1/screenpipe/pipes/day-recap/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Day Recap\ndescription: \"Today's accomplishments, key moments, and unfinished work\"\nicon: \"📋\"\nfeatured: true\n---\n\nAnalyze my screen and audio recordings from today (last 16 hours only). \n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Summary\nOne sentence: what I mainly did today.\n\n## Accomplishments\n- Top 3 things I finished, with timestamps (e.g. \"2:30 PM\")\n- Name specific apps, files, or projects\n\n## Key Moments\n- Important things I saw, said, or heard — with timestamps\n\n## Unfinished Work\n- What I should continue tomorrow — name the app/file/task\n\n## Patterns\n- Apps I used most, topics that came up repeatedly\n\nOnly report what you can verify from the data. End with: \"**Next step:** [most important thing to continue]\"\n\n=== /volume1/screenpipe/pipes/meeting-summary/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Meeting Summary\ndescription: \"Summarize meeting transcript with key takeaways and action items\"\nicon: \"🤝\"\nfeatured: false\n---\n\nSummarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.\n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Meeting Summary\nOne sentence: what this meeting was about.\n\n## Key Takeaways\n- Top 3-5 important points discussed\n- Include who said what when relevant\n\n## Action Items\n- [ ] Task — assigned to whom, deadline if mentioned\n- [ ] Task — assigned to whom\n\n## Decisions Made\n- List any decisions or agreements reached\n\n## Open Questions\n- Anything unresolved or needing follow-up\n\nKeep it concise and actionable.\n\n=== /volume1/screenpipe/pipes/standup-update/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Standup Update\ndescription: \"What you did, what's next, and any blockers\"\nicon: \"🏢\"\nfeatured: true\n---\n\nBased on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.\n\nRead screenpipe skill first.\n\nUse this exact format:\n\n## Yesterday\n- What I worked on (name specific projects, files, tools, PRs)\n\n## Today\n- What I will work on next (based on unfinished tasks and recent activity)\n\n## Blockers\n- Issues I hit — errors, slow builds, waiting on someone\n- If no blockers, write \"None\"\n\nKeep it under 150 words. Copy-paste ready for a team standup.\n\n=== /volume1/screenpipe/pipes/time-breakdown/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Time Breakdown\ndescription: \"Where your time went — by app, project, and category\"\nicon: \"⏱\"\nfeatured: false\n---\n\nAnalyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.\n\nRead screenpipe skill first.\n\nUse this exact format with durations and percentages:\n\n## By Application\n- List each app with duration and percentage, sorted by time (e.g. \"VS Code: 2h 15min (28%)\")\n\n## By Category\n- Group into: coding, meetings, browsing, writing, communication, other\n- Show hours and percentage per category\n\n## By Project\n- Group related activities by project/topic. Name specific repos or tasks.\n\n## Productivity Score\n- Calculate: focused_work_hours / total_hours as a percentage\n- Focused = coding + writing. Unfocused = browsing + switching.\n\nEnd with: \"**Suggestion:** [one specific change to improve tomorrow's productivity]\"\n\n=== /volume1/screenpipe/pipes/video-export/pipe.md ===\n---\nschedule: manual\nenabled: true\ntemplate: true\ntitle: Export Video Clip\ndescription: \"Create a video of your recent screen activity\"\nicon: \"🎬\"\nfeatured: false\n---\n\nExport a video of my screen activity from the last 5 minutes.\n\nRead screenpipe skill first.\n\nUse the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.\n\nIf the export is large, suggest a lower fps or shorter time range.","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Thinking","depth":23,"on_screen":false,"role_description":"disclosure triangle","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Thinking","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Now I have a clear picture. The pipes are markdown prompt templates in","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"/volume1/screenpipe/pipes/","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":", but there's no code to actually load and run them —","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"consumers/summary.py","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"has its own hardcoded prompts instead.","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Here's what I'll implement:","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"consumers/pipes.py","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"— dynamically loads pipe.md files and runs them via Claude (data injected as system message, pipe body as user prompt)","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"main.py","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"— two new endpoints:","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"GET /api/pipes","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"and","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"POST /api/pipes/{pipe_id}/run","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cli.py","depth":26,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"— a","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"pipe","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"command to run pipes from the terminal","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Let me build it:","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Bash","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Check browser_urls signature","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"IN","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"cat /volume1/screenpipe/app/consumers/activity.py | grep \"def browser_urls\" -A 5","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Copy code to clipboard","depth":24,"on_screen":false,"help_text":"Copy code","role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"OUT","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"def browser_urls(\n for_date: date | None = None,\n app_name: str | None = None,\n ts_from: str | None = None,\n ts_to: str | None = None,\n limit: int = 30,","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Write","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"pipes.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"pipes.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"143 lines","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"\"\"\"Dynamic pipe loader and runner.\"\"\"\nimport os\nimport re\nfrom datetime import date\nfrom pathlib import Path\nfrom typing import Any\n\n\ndef _parse_frontmatter(text: str) -> tuple[dict, str]:\n if not text.startswith(\"---\"):\n return {}, text\n try:\n end = text.index(\"---\", 3)\n except ValueError:\n return {}, text\n fm_text = text[3:end].strip()\n body = text[end + 3:].strip()\n meta: dict = {}\n for line in fm_text.splitlines():\n if \":\" in line:\n k, _, v = line.partition(\":\")\n meta[k.strip()] = v.strip().strip('\"')\n return meta, body\n\n\ndef load_pipes(pipes_dir: Path) -> list[dict]:\n if not pipes_dir.exists():\n return []\n pipes = []\n for pipe_dir in sorted(pipes_dir.iterdir()):\n if not pipe_dir.is_dir() or pipe_dir.name.startswith(\".\"):\n continue\n pipe_md = pipe_dir / \"pipe.md\"\n if not pipe_md.exists():\n continue\n text = pipe_md.read_text(encoding=\"utf-8\")\n meta, body = _parse_frontmatter(text)\n if meta.get(\"enabled\", \"true\").lower() == \"false\":\n continue\n body = re.sub(r\"Read screenpipe skill first\\.?\\n?\", \"\", body).strip()\n pipes.append({\n \"id\": pipe_dir.name,\n \"title\": meta.get(\"title\", pipe_dir.name),\n \"description\": meta.get(\"description\", \"\"),\n \"icon\": meta.get(\"icon\", \"\"),\n \"schedule\": meta.get(\"schedule\", \"manual\"),\n \"featured\": meta.get(\"featured\", \"false\").lower() == \"true\",\n \"prompt\": body,\n })\n return pipes\n\n\ndef _build_system(d: date, stats: dict) -> str:\n from consumers.activity import app_time, browser_urls, ui_event_summary\n from consumers.ocr import deduplicated_text\n from consumers.audio import formatted_transcript\n\n apps = app_time(d)\n app_lines = \"\\n\".join(f\"- {a['app_name']}: {a['minutes']} min\" for a in apps[:20])\n\n urls = browser_urls(d, limit=20)\n url_lines = \"\\n\".join(f\"- {u['browser_url'][:100]} ({u['minutes']} min)\" for u in urls)\n\n ui_rows = ui_event_summary(d)\n ui_lines = \"\\n\".join(\n f\"- {r['app_name']}: {r['clicks']} clicks, {r['keystrokes']} keys, {r['switches']} switches\"\n for r in ui_rows[:15]\n )\n\n ocr_rows = deduplicated_text(d, chunk_minutes=5)\n ocr_lines = \"\\n\".join(\n f\"[{r['bucket']}] {r['app_name']} / {r['window_name'] or ''}: {r['text'][:200]}\"\n for r in ocr_rows[:100]\n )\n\n audio = formatted_transcript(d)\n if len(audio) > 3000:\n audio = audio[:3000]\n\n return f\"\"\"You are analyzing screenpipe data — recordings of a person's computer activity.\n\n## App usage (minutes per app):\n{app_lines or '(no app data)'}\n\n## Browser URLs visited:\n{url_lines or '(no browser data)'}\n\n## UI activity per app (clicks / keystrokes / app-switches):\n{ui_lines or '(no UI event data)'}\n\n## Screen content (sampled every 5 minutes):\n{ocr_lines or '(no screen data)'}\n\n## Audio / speech:\n{audio or '(no audio data)'}\n\nDate: {d}\nTotal frames recorded: {stats['total_frames']}\"\"\"\n\n\ndef run_pipe(\n pipe_id: str,\n for_date: date | None = None,\n api_key: str | None = None,\n pipes_dir: Path | None = None,\n) -> dict[str, Any]:\n import anthropic\n from consumers.activity import summary_stats\n\n d = for_date or date.today()\n key = api_key or os.environ.get(\"ANTHROPIC_API_KEY\", \"\")\n if not key:\n return {\"title\": \"Error\", \"content\": \"ANTHROPIC_API_KEY not set.\", \"date\": str(d)}\n\n _pipes_dir = pipes_dir or Path(os.environ.get(\"PIPES_DIR\", \"/data/pipes\"))\n all_pipes = {p[\"id\"]: p for p in load_pipes(_pipes_dir)}\n\n if pipe_id not in all_pipes:\n return {\"title\": \"Error\", \"content\": f\"Pipe not found: {pipe_id}\", \"date\": str(d)}\n\n pipe = all_pipes[pipe_id]\n stats = summary_stats(d)\n\n if stats[\"total_frames\"] == 0:\n return {\"title\": pipe[\"title\"], \"content\": f\"No screen data found for {d}.\", \"date\": str(d)}\n\n system = _build_system(d, stats)\n\n client = anthropic.Anthropic(api_key=key)\n message = client.messages.create(\n model=\"claude-haiku-4-5-20251001\",\n max_tokens=1024,\n system=system,\n messages=[{\"role\": \"user\", \"content\": pipe[\"prompt\"]}],\n )\n\n return {\n \"title\": pipe[\"title\"],\n \"content\": message.content[0].text,\n \"date\": str(d),\n \"stats\": stats,\n }","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Now add the API endpoints to","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"main.py","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":":","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Edit","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"main.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Added 1 line","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Edit","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"main.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"main.py","depth":25,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Added 1 line","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Now add the pipe endpoints at the end of main.py, before the closing summary section:","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Edit","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"","depth":24,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"main.py","depth":24,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
5028578611034289584
|
-8114977334222665628
|
click
|
accessibility
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_f
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_f, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1
Implement and run pipe l…, Editor Group 2
Problems (⇧⌘M)
PROBLEMS
Output (⇧⌘U)
OUTPUT
Debug Console (⇧⌘Y)
DEBUG CONSOLE
Terminal (⌃`)
TERMINAL
Ports - 1 forwarded port
PORTS
1
Remote - SSH - Output
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 8766
1
Notifications
Sign In
Sign In
Plain Text
Editor Language Status: Inline Suggestions, next: $(copilot) No inline suggestion available, Inline suggestions
LF
UTF-8
Spaces: 4
Ln 1, Col 1
Info: Downloading VS Code Server...
Implement and run pipe logic
Session history
New session
Message actions
main.py
main.py
lets implement logic with pipes. how can I run it?
Thinking
Thinking
Let me look at the current project structure to understand what's already in place.
Bash
List project files
IN
find /volume1/screenpipe -type f | head -50 && echo "---" && ls /volume1/screenpipe
Copy code to clipboard
OUT
/volume1/screenpipe/.DS_Store
/volume1/screenpipe/screenpipe.db
/volume1/screenpipe/screenpipe_sync.sh
/volume1/screenpipe/app_settings.json
/volume1/screenpipe/.gitignore
/volume1/screenpipe/archive.db
/volume1/screenpipe/db.sqlite
/volume1/screenpipe/db.sqlite-wal
/volume1/screenpipe/db.sqlite-shm
/volume1/screenpipe/#recycle/desktop.ini
/volume1/screenpipe/#recycle/db.sqlite
/volume1/screenpipe/#recycle/Copy #1 of db.sqlite
/volume1/screenpipe/#recycle/.DS_Store
/volume1/screenpipe/#recycle/Copy #2 of db.sqlite
/volume1/screenpipe/#recycle/archive.db
/volume1/screenpipe/#recycle/Copy #1 of archive.db
/volume1/screenpipe/#recycle/Copy #2 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of archive.db
/volume1/screenpipe/#recycle/Copy #4 of archive.db
/volume1/screenpipe/#recycle/Copy #5 of archive.db
/volume1/screenpipe/#recycle/Copy #3 of db.sqlite
/volume1/screenpipe/#recycle/Copy #4 of db.sqlite
/volume1/screenpipe/#recycle/Copy #6 of archive.db
/volume1/screenpipe/#recycle/test.txt
/volume1/screenpipe/#recycle/Copy #7 of archive.db
/volume1/screenpipe/#recycle/Copy #8 of archive.db
/volume1/screenpipe/#recycle/archive.db-journal
/volume1/screenpipe/#recycle/Copy #1 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #2 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #3 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #4 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #6 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #7 of archive.db-journal
/volume1/screenpipe/#recycle/Copy #5 of db.sqlite
/volume1/screenpipe/pipes/.DS_Store
/volume1/screenpipe/app/.env
/volume1/screenpipe/app/cli.py
/volume1/screenpipe/app/.DS_Store
/volume1/screenpipe/app/db.py
/volume1/screenpipe/app/docker-compose.yml
/volume1/screenpipe/app/main.py
/volume1/screenpipe/app/requirements.txt
/volume1/screenpipe/app/Dockerfile
/volume1/screenpipe/data/.DS_Store
/volume1/screenpipe/.git/description
/volume1/screenpipe/.git/HEAD
/volume1/screenpipe/.git/index
/volume1/screenpipe/.git/COMMIT_EDITMSG
/volume1/screenpipe/#recycle/data/.DS_Store
---
app
app_settings.json
archive.db
data
db.sqlite
db.sqlite-shm
db.sqlite-wal
pipes
#recycle
screenpipe.db
screenpipe_sync.sh
Read
main.py
main.py
Bash
Check pipes directory and docker-compose
IN
ls /volume1/screenpipe/pipes/ && ls /volume1/screenpipe/app/ && cat /volume1/screenpipe/app/docker-compose.yml
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
cli.py
consumers
db.py
docker-compose.yml
Dockerfile
main.py
__pycache__
requirements.txt
static
services:
screenpipe-app:
build: .
container_name: screenpipe-app
restart: unless-stopped
ports:
- "8766:8000"
volumes:
- /volume1/screenpipe:/data
env_file:
- .env
environment:
TZ: Europe/Sofia
DB_PATH: /data/db.sqlite
sqlite-web-archive:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-archive
restart: unless-stopped
ports:
- "8767:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/archive.db"]
sqlite-web-live:
image: ghcr.io/coleifer/sqlite-web:latest
container_name: screenpipe-sqlweb-live
restart: unless-stopped
ports:
- "8768:8080"
volumes:
- /volume1/screenpipe:/data
command: ["-H", "[IP_ADDRESS]", "-r", "/data/db.sqlite"]
Read
requirements.txt
requirements.txt
Bash
Inspect a pipe directory
IN
ls /volume1/screenpipe/pipes/day-recap/ && cat /volume1/screenpipe/pipes/day-recap/pipe.json 2>/dev/null || ls /volume1/screenpipe/pipes/day-recap/
Copy code to clipboard
OUT
pipe.md
pipe.md
Read
cli.py
cli.py
Bash
List all pipes and their contents
IN
ls /volume1/screenpipe/pipes/ && for d in /volume1/screenpipe/pipes/*/; do echo "=== $d ==="; ls "$d"; done
Copy code to clipboard
OUT
ai-habits
day-recap
meeting-summary
standup-update
time-breakdown
video-export
=== /volume1/screenpipe/pipes/ai-habits/ ===
pipe.md
=== /volume1/screenpipe/pipes/day-recap/ ===
pipe.md
=== /volume1/screenpipe/pipes/meeting-summary/ ===
pipe.md
=== /volume1/screenpipe/pipes/standup-update/ ===
pipe.md
=== /volume1/screenpipe/pipes/time-breakdown/ ===
pipe.md
=== /volume1/screenpipe/pipes/video-export/ ===
pipe.md
Bash
Read pipe markdown files
IN
cat /volume1/screenpipe/pipes/day-recap/pipe.md && echo "===" && cat /volume1/screenpipe/pipes/meeting-summary/pipe.md 2>/dev/null | head -50
Copy code to clipboard
OUT
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
===
---
schedule: manual
enabled: true
template: true
title: Meeting Summary
description: "Summarize meeting transcript with key takeaways and action items"
icon: "🤝"
featured: false
---
Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.
Read screenpipe skill first.
Use this exact format:
## Meeting Summary
One sentence: what this meeting was about.
## Key Takeaways
- Top 3-5 important points discussed
- Include who said what when relevant
## Action Items
- [ ] Task — assigned to whom, deadline if mentioned
- [ ] Task — assigned to whom
## Decisions Made
- List any decisions or agreements reached
## Open Questions
- Anything unresolved or needing follow-up
Keep it concise and actionable.
Thinking
Thinking
Bash
Read summary consumer
IN
ls /volume1/screenpipe/app/consumers/ && cat /volume1/screenpipe/app/consumers/summary.py
Copy code to clipboard
OUT
activity.py
audio.py
elements.py
__init__.py
interactions.py
ocr.py
__pycache__
report.py
summary.py
"""AI summary generator using Claude."""
import os
from datetime import date
from typing import Any
from consumers.activity import app_time, summary_stats, browser_urls, ui_event_summary
from consumers.ocr import deduplicated_text
from consumers.audio import formatted_transcript
SUMMARY_TYPES = {
"day_recap": {
"title": "Day Recap",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
## Audio/speech:
{audio}
Write a concise day recap using EXACTLY this format:
## Summary
One sentence: what I mainly worked on today.
## Accomplishments
- Top 3 things I finished, with approximate times
- Name specific apps, files, or projects
## Key Moments
- Important things seen or heard, with timestamps
## Unfinished Work
- What to continue tomorrow
## Patterns
- Apps used most, topics that came up repeatedly
Only report what you can verify from the data. End with:
**Next step:** [most important thing to continue]""",
},
"standup": {
"title": "Standup Update",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
## Audio/speech:
{audio}
Write a brief standup update:
**Yesterday:** What I worked on (2-3 bullets)
**Today:** What I plan to continue (1-2 bullets)
**Blockers:** Any issues observed (or "None")
Keep it under 150 words. Only report what's verifiable from the data.""",
},
"focus_time": {
"title": "Focus & Distraction Analysis",
"prompt": """\
You are analyzing a person's computer activity for the day.
## App usage (minutes per app):
{app_time}
## Browser URLs visited:
{browser_urls}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_events}
## Screen content (sampled every 5 minutes):
{ocr_text}
Analyze focus vs distraction patterns:
## Deep Work Periods
- When and how long were sustained focus sessions?
- What was being worked on?
## Distractions
- Which apps/sites were used recreationally?
- How much time was lost to context switching?
## Recommendations
- 2-3 concrete suggestions to improve focus tomorrow
Be specific with times and app names.""",
},
}
def _build_context(for_date: date) -> dict[str, str]:
apps = app_time(for_date)
app_lines = "\n".join(f"- {a['app_name']}: {a['minutes']} min" for a in apps[:20])
urls = browser_urls(for_date, limit=20)
url_lines = "\n".join(
f"- {u['browser_url'][:100]} ({u['minutes']} min)" for u in urls
)
ui_rows = ui_event_summary(for_date)
ui_lines = "\n".join(
f"- {r['app_name']}: {r['clicks']} clicks, {r['keystrokes']} keys, {r['switches']} switches"
for r in ui_rows[:15]
)
ocr_rows = deduplicated_text(for_date, chunk_minutes=5)
ocr_lines = "\n".join(
f"[{r['bucket']}] {r['app_name']} / {r['window_name'] or ''}: {r['text'][:200]}"
for r in ocr_rows[:100]
)
audio = formatted_transcript(for_date)
return {
"app_time": app_lines or "(no app data)",
"browser_urls": url_lines or "(no browser data)",
"ui_events": ui_lines or "(no UI event data)",
"ocr_text": ocr_lines or "(no screen data)",
"audio": audio[:3000] if len(audio) > 3000 else audio,
}
def generate(
summary_type: str = "day_recap",
for_date: date | None = None,
api_key: str | None = None,
) -> dict[str, Any]:
"""Generate an AI summary. Returns dict with 'title', 'content', 'date'."""
import anthropic
d = for_date or date.today()
key = api_key or os.environ.get("ANTHROPIC_API_KEY", "")
if not key:
return {
"title": "Error",
"content": "ANTHROPIC_API_KEY not set. Add it to your .env file.",
"date": str(d),
}
spec = SUMMARY_TYPES.get(summary_type)
if not spec:
return {"title": "Error", "content": f"Unknown summary type: {summary_type}", "date": str(d)}
stats = summary_stats(d)
if stats["total_frames"] == 0:
return {
"title": spec["title"],
"content": f"No screen data found for {d}.",
"date": str(d),
}
ctx = _build_context(d)
prompt = spec["prompt"].format(**ctx)
client = anthropic.Anthropic(api_key=key)
message = client.messages.create(
model="claude-haiku-4-5-20251001",
max_tokens=1024,
messages=[{"role": "user", "content": prompt}],
)
return {
"title": spec["title"],
"content": message.content[0].text,
"date": str(d),
"stats": stats,
}
Thinking
Thinking
Bash
Read all pipe.md files
IN
for f in /volume1/screenpipe/pipes/*/pipe.md; do echo "=== $f ==="; cat "$f"; echo; done
Copy code to clipboard
OUT
=== /volume1/screenpipe/pipes/ai-habits/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: AI Habits
description: "How you use AI tools — patterns and insights"
icon: "🤖"
featured: true
---
Search my recordings from the last 24 hours for AI tool usage. Use app_name filter for each tool separately: ChatGPT, Claude, Copilot, Cursor, Gemini, Perplexity. Use limit=5 per search, max 6 searches total.
Read screenpipe skill first.
Use this exact format:
## AI Tools Used
- List each tool with approximate time spent (e.g. "Claude: ~45min")
## What I Used Them For
- For each tool: coding, writing, research, or brainstorming
## Usage Patterns
- Do I switch between tools? Use them in bursts or steadily?
## Effectiveness
- Which tool appeared alongside completed work vs. abandoned attempts
If no AI usage is found, say so clearly. End with: "**Tip:** [one suggestion to use AI tools more effectively]"
=== /volume1/screenpipe/pipes/day-recap/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Day Recap
description: "Today's accomplishments, key moments, and unfinished work"
icon: "📋"
featured: true
---
Analyze my screen and audio recordings from today (last 16 hours only).
Read screenpipe skill first.
Use this exact format:
## Summary
One sentence: what I mainly did today.
## Accomplishments
- Top 3 things I finished, with timestamps (e.g. "2:30 PM")
- Name specific apps, files, or projects
## Key Moments
- Important things I saw, said, or heard — with timestamps
## Unfinished Work
- What I should continue tomorrow — name the app/file/task
## Patterns
- Apps I used most, topics that came up repeatedly
Only report what you can verify from the data. End with: "**Next step:** [most important thing to continue]"
=== /volume1/screenpipe/pipes/meeting-summary/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Meeting Summary
description: "Summarize meeting transcript with key takeaways and action items"
icon: "🤝"
featured: false
---
Summarize the meeting transcript provided in the context. Include key takeaways and action items. If the meeting is marked as ongoing, note that and summarize what's available so far.
Read screenpipe skill first.
Use this exact format:
## Meeting Summary
One sentence: what this meeting was about.
## Key Takeaways
- Top 3-5 important points discussed
- Include who said what when relevant
## Action Items
- [ ] Task — assigned to whom, deadline if mentioned
- [ ] Task — assigned to whom
## Decisions Made
- List any decisions or agreements reached
## Open Questions
- Anything unresolved or needing follow-up
Keep it concise and actionable.
=== /volume1/screenpipe/pipes/standup-update/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Standup Update
description: "What you did, what's next, and any blockers"
icon: "🏢"
featured: true
---
Based on my recordings from the last 24 hours, generate a standup update. Use limit=10 per search, max 3 searches total.
Read screenpipe skill first.
Use this exact format:
## Yesterday
- What I worked on (name specific projects, files, tools, PRs)
## Today
- What I will work on next (based on unfinished tasks and recent activity)
## Blockers
- Issues I hit — errors, slow builds, waiting on someone
- If no blockers, write "None"
Keep it under 150 words. Copy-paste ready for a team standup.
=== /volume1/screenpipe/pipes/time-breakdown/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Time Breakdown
description: "Where your time went — by app, project, and category"
icon: "⏱"
featured: false
---
Analyze my app usage from today (last 12 hours). Use limit=10 per search, max 4 searches. Prefer /raw_sql with COUNT/GROUP BY queries.
Read screenpipe skill first.
Use this exact format with durations and percentages:
## By Application
- List each app with duration and percentage, sorted by time (e.g. "VS Code: 2h 15min (28%)")
## By Category
- Group into: coding, meetings, browsing, writing, communication, other
- Show hours and percentage per category
## By Project
- Group related activities by project/topic. Name specific repos or tasks.
## Productivity Score
- Calculate: focused_work_hours / total_hours as a percentage
- Focused = coding + writing. Unfocused = browsing + switching.
End with: "**Suggestion:** [one specific change to improve tomorrow's productivity]"
=== /volume1/screenpipe/pipes/video-export/pipe.md ===
---
schedule: manual
enabled: true
template: true
title: Export Video Clip
description: "Create a video of your recent screen activity"
icon: "🎬"
featured: false
---
Export a video of my screen activity from the last 5 minutes.
Read screenpipe skill first.
Use the POST /frames/export endpoint with the time range and fps=1.0. Then show me the exported video file path as an inline code block so I can watch it.
If the export is large, suggest a lower fps or shorter time range.
Thinking
Thinking
Now I have a clear picture. The pipes are markdown prompt templates in
/volume1/screenpipe/pipes/
, but there's no code to actually load and run them —
consumers/summary.py
has its own hardcoded prompts instead.
Here's what I'll implement:
consumers/pipes.py
— dynamically loads pipe.md files and runs them via Claude (data injected as system message, pipe body as user prompt)
main.py
— two new endpoints:
GET /api/pipes
and
POST /api/pipes/{pipe_id}/run
cli.py
— a
pipe
command to run pipes from the terminal
Let me build it:
Bash
Check browser_urls signature
IN
cat /volume1/screenpipe/app/consumers/activity.py | grep "def browser_urls" -A 5
Copy code to clipboard
OUT
def browser_urls(
for_date: date | None = None,
app_name: str | None = None,
ts_from: str | None = None,
ts_to: str | None = None,
limit: int = 30,
Write
pipes.py
pipes.py
143 lines
"""Dynamic pipe loader and runner."""
import os
import re
from datetime import date
from pathlib import Path
from typing import Any
def _parse_frontmatter(text: str) -> tuple[dict, str]:
if not text.startswith("---"):
return {}, text
try:
end = text.index("---", 3)
except ValueError:
return {}, text
fm_text = text[3:end].strip()
body = text[end + 3:].strip()
meta: dict = {}
for line in fm_text.splitlines():
if ":" in line:
k, _, v = line.partition(":")
meta[k.strip()] = v.strip().strip('"')
return meta, body
def load_pipes(pipes_dir: Path) -> list[dict]:
if not pipes_dir.exists():
return []
pipes = []
for pipe_dir in sorted(pipes_dir.iterdir()):
if not pipe_dir.is_dir() or pipe_dir.name.startswith("."):
continue
pipe_md = pipe_dir / "pipe.md"
if not pipe_md.exists():
continue
text = pipe_md.read_text(encoding="utf-8")
meta, body = _parse_frontmatter(text)
if meta.get("enabled", "true").lower() == "false":
continue
body = re.sub(r"Read screenpipe skill first\.?\n?", "", body).strip()
pipes.append({
"id": pipe_dir.name,
"title": meta.get("title", pipe_dir.name),
"description": meta.get("description", ""),
"icon": meta.get("icon", ""),
"schedule": meta.get("schedule", "manual"),
"featured": meta.get("featured", "false").lower() == "true",
"prompt": body,
})
return pipes
def _build_system(d: date, stats: dict) -> str:
from consumers.activity import app_time, browser_urls, ui_event_summary
from consumers.ocr import deduplicated_text
from consumers.audio import formatted_transcript
apps = app_time(d)
app_lines = "\n".join(f"- {a['app_name']}: {a['minutes']} min" for a in apps[:20])
urls = browser_urls(d, limit=20)
url_lines = "\n".join(f"- {u['browser_url'][:100]} ({u['minutes']} min)" for u in urls)
ui_rows = ui_event_summary(d)
ui_lines = "\n".join(
f"- {r['app_name']}: {r['clicks']} clicks, {r['keystrokes']} keys, {r['switches']} switches"
for r in ui_rows[:15]
)
ocr_rows = deduplicated_text(d, chunk_minutes=5)
ocr_lines = "\n".join(
f"[{r['bucket']}] {r['app_name']} / {r['window_name'] or ''}: {r['text'][:200]}"
for r in ocr_rows[:100]
)
audio = formatted_transcript(d)
if len(audio) > 3000:
audio = audio[:3000]
return f"""You are analyzing screenpipe data — recordings of a person's computer activity.
## App usage (minutes per app):
{app_lines or '(no app data)'}
## Browser URLs visited:
{url_lines or '(no browser data)'}
## UI activity per app (clicks / keystrokes / app-switches):
{ui_lines or '(no UI event data)'}
## Screen content (sampled every 5 minutes):
{ocr_lines or '(no screen data)'}
## Audio / speech:
{audio or '(no audio data)'}
Date: {d}
Total frames recorded: {stats['total_frames']}"""
def run_pipe(
pipe_id: str,
for_date: date | None = None,
api_key: str | None = None,
pipes_dir: Path | None = None,
) -> dict[str, Any]:
import anthropic
from consumers.activity import summary_stats
d = for_date or date.today()
key = api_key or os.environ.get("ANTHROPIC_API_KEY", "")
if not key:
return {"title": "Error", "content": "ANTHROPIC_API_KEY not set.", "date": str(d)}
_pipes_dir = pipes_dir or Path(os.environ.get("PIPES_DIR", "/data/pipes"))
all_pipes = {p["id"]: p for p in load_pipes(_pipes_dir)}
if pipe_id not in all_pipes:
return {"title": "Error", "content": f"Pipe not found: {pipe_id}", "date": str(d)}
pipe = all_pipes[pipe_id]
stats = summary_stats(d)
if stats["total_frames"] == 0:
return {"title": pipe["title"], "content": f"No screen data found for {d}.", "date": str(d)}
system = _build_system(d, stats)
client = anthropic.Anthropic(api_key=key)
message = client.messages.create(
model="claude-haiku-4-5-20251001",
max_tokens=1024,
system=system,
messages=[{"role": "user", "content": pipe["prompt"]}],
)
return {
"title": pipe["title"],
"content": message.content[0].text,
"date": str(d),
"stats": stats,
}
Now add the API endpoints to
main.py
:
Edit
main.py
main.py
Added 1 line
Edit
main.py
main.py
Added 1 line
Now add the pipe endpoints at the end of main.py, before the closing summary section:
Edit
main.py...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
26246
|
1090
|
5
|
2026-05-12T12:15:26.414021+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778588126414_m1.jpg...
|
Code
|
screenpipe_fts_migrate.sh — screenpipe [SSH: nas]
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⇧⌘E) - 1 unsaved file","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⌃⇧G) - 11 pending changes","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"11","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Run and Debug (⇧⌘D)","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X) - 2 require update, 1 requires restart","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Claude Code","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Containers","depth":19,"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"EXPLORER","depth":17,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"EXPLORER","depth":18,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"SCREENPIPE [SSH: NAS]","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"on_screen":true,"role_description":"text"}]...
|
-7800405599444194184
|
-5534870180831503103
|
click
|
accessibility
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
26247
|
1091
|
3
|
2026-05-12T12:15:26.397594+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-12/1778 /Users/lukas/.screenpipe/data/data/2026-05-12/1778588126397_m2.jpg...
|
Code
|
screenpipe_fts_migrate.sh — screenpipe [SSH: nas]
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_fts_migrate.sh, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"Explorer (⇧⌘E) - 1 unsaved file","depth":19,"bounds":{"left":0.0003324468,"top":0.047885075,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":true},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.057462092,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"1","depth":22,"bounds":{"left":0.009973404,"top":0.06863528,"width":0.0016622341,"height":0.008778931},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Search (⇧⌘F)","depth":19,"bounds":{"left":0.0003324468,"top":0.08619314,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.09577015,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Source Control (⌃⇧G) - 11 pending changes","depth":19,"bounds":{"left":0.0003324468,"top":0.1245012,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.13407822,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"11","depth":22,"bounds":{"left":0.008976064,"top":0.1452514,"width":0.0033244682,"height":0.008778931},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.00930851,"top":0.14604948,"width":0.0016622341,"height":0.007980846}},{"char_start":1,"char_count":1,"bounds":{"left":0.010638298,"top":0.14604948,"width":0.0019946808,"height":0.007980846}}],"role_description":"text"},{"role":"AXRadioButton","text":"Run and Debug (⇧⌘D)","depth":19,"bounds":{"left":0.0003324468,"top":0.16280925,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.17238627,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Remote Explorer","depth":19,"bounds":{"left":0.0003324468,"top":0.20111732,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.21069433,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Extensions (⇧⌘X) - 2 require update, 1 requires restart","depth":19,"bounds":{"left":0.0003324468,"top":0.23942538,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":22,"bounds":{"left":0.0043218085,"top":0.2490024,"width":0.007978723,"height":0.01915403},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":22,"bounds":{"left":0.009640957,"top":0.2601756,"width":0.0023271276,"height":0.008778931},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Claude Code","depth":19,"bounds":{"left":0.0003324468,"top":0.27773345,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Containers","depth":19,"bounds":{"left":0.0003324468,"top":0.3160415,"width":0.015957447,"height":0.03830806},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXHeading","text":"EXPLORER","depth":17,"bounds":{"left":0.022938829,"top":0.047885075,"width":0.018949468,"height":0.02793296},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"EXPLORER","depth":18,"bounds":{"left":0.022938829,"top":0.056664005,"width":0.018949468,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.056664005,"width":0.0023271276,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.025265958,"top":0.056664005,"width":0.01662234,"height":0.0103751}}],"role_description":"text"},{"role":"AXButton","text":"Explorer Section: screenpipe [SSH: nas]","depth":21,"bounds":{"left":0.016289894,"top":0.07581804,"width":0.09940159,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.016954787,"top":0.07821229,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"Explorer Section: screenpipe [SSH: nas]","depth":22,"bounds":{"left":0.022938829,"top":0.07581804,"width":0.045877658,"height":0.017557861},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"SCREENPIPE [SSH: NAS]","depth":23,"bounds":{"left":0.022938829,"top":0.079010375,"width":0.045877658,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.07980846,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":20,"bounds":{"left":0.025598405,"top":0.07980846,"width":0.043218084,"height":0.0103751}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.09577015,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"#recycle","depth":27,"bounds":{"left":0.026263298,"top":0.09577015,"width":0.017287234,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.096568234,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":7,"bounds":{"left":0.028922873,"top":0.096568234,"width":0.01462766,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.11332801,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app","depth":27,"bounds":{"left":0.026263298,"top":0.11332801,"width":0.0076462766,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.11412609,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":2,"bounds":{"left":0.028590426,"top":0.11412609,"width":0.005319149,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.10638298,"top":0.11412609,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.13088587,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"data","depth":27,"bounds":{"left":0.026263298,"top":0.13088587,"width":0.008976064,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.13168396,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.028922873,"top":0.13168396,"width":0.0063164895,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.14844373,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"logs","depth":27,"bounds":{"left":0.026263298,"top":0.14844373,"width":0.00831117,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.14924182,"width":0.0009973404,"height":0.011971269}},{"char_start":1,"char_count":3,"bounds":{"left":0.027260639,"top":0.14924182,"width":0.0076462766,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.10638298,"top":0.14924182,"width":0.004654255,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":26,"bounds":{"left":0.019946808,"top":0.1660016,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"pipes","depth":27,"bounds":{"left":0.026263298,"top":0.1660016,"width":0.010970744,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.16679968,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":4,"bounds":{"left":0.028922873,"top":0.16679968,"width":0.00831117,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.1819633,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":".gitignore","depth":27,"bounds":{"left":0.026263298,"top":0.18355946,"width":0.018949468,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.18435754,"width":0.0013297872,"height":0.011971269}},{"char_start":1,"char_count":9,"bounds":{"left":0.027593086,"top":0.18435754,"width":0.017952127,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.19952115,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"app_settings.json","depth":27,"bounds":{"left":0.026263298,"top":0.20111732,"width":0.03557181,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.2019154,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":16,"bounds":{"left":0.028590426,"top":0.2019154,"width":0.03324468,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.21707901,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db","depth":27,"bounds":{"left":0.026263298,"top":0.21867518,"width":0.020944148,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.21947326,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":9,"bounds":{"left":0.028590426,"top":0.21947326,"width":0.01861702,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.23463687,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"archive.db-bak","depth":27,"bounds":{"left":0.026263298,"top":0.23623304,"width":0.03025266,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.23703113,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":13,"bounds":{"left":0.028590426,"top":0.23703113,"width":0.027925532,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.107380316,"top":0.23703113,"width":0.0029920214,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.25219473,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite","depth":27,"bounds":{"left":0.026263298,"top":0.25379092,"width":0.017287234,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.254589,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":8,"bounds":{"left":0.028922873,"top":0.254589,"width":0.014960106,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.2697526,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-shm","depth":27,"bounds":{"left":0.026263298,"top":0.27134877,"width":0.027925532,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.27214685,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":12,"bounds":{"left":0.028922873,"top":0.27214685,"width":0.025265958,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.28731045,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"db.sqlite-wal","depth":27,"bounds":{"left":0.026263298,"top":0.28890663,"width":0.025930852,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.2897047,"width":0.0026595744,"height":0.011971269}},{"char_start":1,"char_count":12,"bounds":{"left":0.028922873,"top":0.2897047,"width":0.023603724,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.3048683,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_fts_migrate.sh","depth":27,"bounds":{"left":0.026263298,"top":0.3064645,"width":0.053856384,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.30726257,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":24,"bounds":{"left":0.028590426,"top":0.30726257,"width":0.051529255,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.32242617,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync_updated.sh","depth":27,"bounds":{"left":0.026263298,"top":0.32402235,"width":0.059175532,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.32482043,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":25,"bounds":{"left":0.028590426,"top":0.32482043,"width":0.056848403,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"U","depth":27,"bounds":{"left":0.107380316,"top":0.32482043,"width":0.0029920214,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.33998403,"width":0.0063164895,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe_sync.sh","depth":27,"bounds":{"left":0.026263298,"top":0.3415802,"width":0.039893616,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.3423783,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":17,"bounds":{"left":0.028590426,"top":0.3423783,"width":0.037898935,"height":0.011971269}}],"role_description":"text"},{"role":"AXStaticText","text":"M","depth":27,"bounds":{"left":0.106715426,"top":0.3423783,"width":0.003656915,"height":0.011173184},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":27,"bounds":{"left":0.018949468,"top":0.3575419,"width":0.0076462766,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"screenpipe.db","depth":27,"bounds":{"left":0.026263298,"top":0.35913807,"width":0.028590426,"height":0.011971269},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.026263298,"top":0.35993615,"width":0.0023271276,"height":0.011971269}},{"char_start":1,"char_count":12,"bounds":{"left":0.028590426,"top":0.35993615,"width":0.026595745,"height":0.011971269}}],"role_description":"text"},{"role":"AXButton","text":"Outline Section","depth":21,"bounds":{"left":0.016289894,"top":0.9473264,"width":0.09940159,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.016954787,"top":0.9497207,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"OUTLINE","depth":22,"bounds":{"left":0.022938829,"top":0.9473264,"width":0.01662234,"height":0.017557861},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"OUTLINE","depth":23,"bounds":{"left":0.022938829,"top":0.95131683,"width":0.01662234,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.95131683,"width":0.0029920214,"height":0.0103751}},{"char_start":1,"char_count":6,"bounds":{"left":0.025930852,"top":0.95131683,"width":0.013630319,"height":0.0103751}}],"role_description":"text"},{"role":"AXButton","text":"Timeline Section","depth":21,"bounds":{"left":0.016289894,"top":0.9648843,"width":0.09940159,"height":0.017557861},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":23,"bounds":{"left":0.016954787,"top":0.96727854,"width":0.005319149,"height":0.012769354},"on_screen":true,"role_description":"text"},{"role":"AXHeading","text":"TIMELINE","depth":22,"bounds":{"left":0.022938829,"top":0.9648843,"width":0.01761968,"height":0.017557861},"on_screen":true,"role_description":"heading"},{"role":"AXStaticText","text":"TIMELINE","depth":23,"bounds":{"left":0.022938829,"top":0.9688747,"width":0.01761968,"height":0.0103751},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.022938829,"top":0.9688747,"width":0.0026595744,"height":0.0103751}},{"char_start":1,"char_count":7,"bounds":{"left":0.025598405,"top":0.9688747,"width":0.015292553,"height":0.0103751}}],"role_description":"text"},{"role":"AXRadioButton","text":"app_settings.json, Editor Group 1","depth":28,"bounds":{"left":0.116023935,"top":0.047885075,"width":0.055851065,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync.sh, Editor Group 1","depth":28,"bounds":{"left":0.171875,"top":0.047885075,"width":0.06549202,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_fts_migrate.sh, Editor Group 1","depth":28,"bounds":{"left":0.23736702,"top":0.047885075,"width":0.07413564,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true,"is_expanded":false},{"role":"AXRadioButton","text":"screenpipe_sync_updated.sh, preview, Editor Group 1","depth":28,"bounds":{"left":0.31150267,"top":0.047885075,"width":0.0831117,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"pipe.md, Editor Group 1","depth":28,"bounds":{"left":0.39461437,"top":0.047885075,"width":0.039893616,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":".env, Editor Group 1","depth":28,"bounds":{"left":0.43450797,"top":0.047885075,"width":0.039893616,"height":0.02793296},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
3572767021377217060
|
-5516851384161497279
|
click
|
accessibility
|
NULL
|
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Explorer (⇧⌘E) - 1 unsaved file
1
Search (⇧⌘F)
Source Control (⌃⇧G) - 11 pending changes
11
Run and Debug (⇧⌘D)
Remote Explorer
Extensions (⇧⌘X) - 2 require update, 1 requires restart
3
Claude Code
Containers
EXPLORER
EXPLORER
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
SCREENPIPE [SSH: NAS]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
M
screenpipe.db
Outline Section
OUTLINE
OUTLINE
Timeline Section
TIMELINE
TIMELINE
app_settings.json, Editor Group 1
screenpipe_sync.sh, Editor Group 1
screenpipe_fts_migrate.sh, Editor Group 1
screenpipe_sync_updated.sh, preview, Editor Group 1
pipe.md, Editor Group 1
.env, Editor Group 1...
|
26245
|
NULL
|
NULL
|
NULL
|